Winform下去除MDI窗體邊框

2022-09-04 01:24:07 字數 1669 閱讀 1385

做專案中間遇到了mdi窗體內邊框的問題,經過苦苦尋找,最終得到了解決方案

在main窗體中呼叫api

//

win32 constants

private

const

int gwl_style = -16

;

private

const

int gwl_exstyle = -20

;

private

const

int ws_border = 0x00800000

;

private

const

int ws_ex_clientedge = 0x00000200

;

private

const

uint swp_nosize = 0x0001

;

private

const

uint swp_nomove = 0x0002

;

private

const

uint swp_nozorder = 0x0004

;

private

const

uint swp_noactivate = 0x0010

;

private

const

uint swp_framechanged = 0x0020

;

private

const

uint swp_noownerzorder = 0x0200

;

//win32 方法

[dllimport("

user32.dll

", charset =charset.auto)]

private

static

extern

int getwindowlong(intptr hwnd, int

index);

[dllimport(

"user32.dll

", charset =charset.auto)]

private

static

extern

int setwindowlong(intptr hwnd, int index, int

value);

[dllimport(

"user32.dll

", exactspelling = true

)]

private

static

extern

intsetwindowpos(intptr hwnd, intptr hwndinsertafter,

int x, int y, int cx, int cy, uint uflags);

獲取到api後在form_load事件中加入如下**

//

獲取mdi客戶區

for (int i = 0; i < this.controls.count; i++)

重新執行程式,ok  

去除MDI窗體的滾動條

當mdi窗體的子窗體拖動超出父窗體邊界時,那個醜陋難看的滾動條就會出現,今天網上搜了好久終於找到去掉的辦法了。下面把 貼出來。c private const int sb both 3 private const int wm nccalcsize 0x83 dllimport user32.dll...

MDI窗體設計

1.mdi窗體設計 乙個父體中包含幾個子窗體,子窗體共同顯示。2.屬性 ismdicontener 是否將當前窗體設定為父窗體,預設為false 3.設計步驟 1 首先將當前窗體a設定為父窗體 2 通過乙個選單控制項,建立子窗體物件 3 將子窗體的父窗體設定為窗體a 4.方法layou i 給子視窗...

MDI窗體容器

mdi窗體容器 一般來說,窗體是頂級容器,不允許放在其他任何容器內,但是如果將某個窗體的ismdicontainer屬性設定為true,那此窗體就會成為窗體容器,可以在其中放入其他窗體 在內部的窗體不管怎麼調整,是無法跳出其父級窗體容器的 注 如果想讓內部窗體一直最大化並且不要其顯示最大化最小化按鈕...