c 移動窗體和控制項

2022-03-24 05:45:47 字數 1035 閱讀 5648

在winform程式裡面,有時候我們需要移動沒有標題欄窗體或是窗體內的控制項,用幾個事件如滑鼠單擊,移動,等再加上座標的計算可以完成這一功能,但是最近發現了乙個api函式,可以非常簡單方便的完成這個功能。如下:

**[dllimportattribute(

"user32.dll")]

private

extern

static

bool

releasecapture();

[dllimportattribute(

"user32.dll")]

private

extern

static

intsendmessage(intptr handle, 

intm, 

intp, 

inth);

在使用這兩個函式時就匯入using system.runtime.interopservices;

如下使用:

releasecapture();

sendmessage(this.handle, 0xa1, 0x2, 0);

這裡面除this.handle引數外其它的不需改變。例如我們給窗體定義乙個mousedown事件:

this.mousedown += new mouseeventhandler(mybasecontrol_mousedown);

那麼就可以在點選窗體的任何一點而進行拖動操作。事件內**如:

**1protected

void

mybasecontrol_mousedown(

object

sender, mouseeventargs e)210

}11如果用於執行時的某個控制項,則可以把上面的**放入此控制項的mousedown事件中,只是sendmessage(this

.handle, 

0xa1

, 0x2, 0

);中的

this

.handle引數應改為此控制項的handle,如this.button1.handle即可實現。

C 滑鼠拖拉移動窗體控制項

窗體控制項的拖拉 滑鼠左鍵按下移動控制項的實現 本例子新建兩個panel1和panel2 panel1為父級容器 panel2為panel1的控制項 panel1的滑鼠移動事件 public bool move false public int tempx public int tempy dlli...

vb 點選控制項移動窗體

新增模組 如下 public declare function sendmessage lib user32 alias sendmessagea byval hwnd as long,byval wmsg as long,byval wparam as long,lparam as any as ...

C 窗體控制項 日期控制項DateTimePicker

日期控制項 datetimepicker 用來控制使用者的輸入日期,使用該控制項可以使使用者通過選擇的方式填寫日期,避免輸入日期格式判斷。datetimepicker常用的屬性 showupdown 指示是否為修改控制項值顯示數字顯示框,而不是顯示下拉日曆。format 日期的顯示樣式。maxdat...