輕鬆實現C 窗體無外邊框移動

2021-10-01 17:08:39 字數 697 閱讀 7682

剛畢業的小白乙個,最近在接手乙個專案,要在c#中使用dotnetbar來搭建窗體介面,所以要去除外邊框,但是去除外邊框後就不能移動窗體了,還是比較麻煩的。在網上查詢了好久的資料,有很多大神用了很多種方法來實現,當然鑑於本人是小白乙個,所以都不採用,看不懂。最後還是很小幸運的找到了:

首先新增引用,並宣告兩個方法:

[dllimport(「user32.dll」)]

public static extern bool releasecapture();

[dllimport(「user32.dll」)]

public static extern bool sendmessage(intptr hwnd, int wmsg, int wparam, int lparam);

在sendmessage方法中,第乙個引數是窗體的控制代碼,其餘三個常量引數宣告如下:

public const int wm_syscommand = 0x0112;

public const int sc_move = 0xf010;

public const int htcaption = 0x0002;

最後在窗體的mousedown***事件***中新增如下**:

private void form1_mousedown(object sender, mouseeventargs e)

是不是很簡單!!!!!!!!!!!

C 移動無邊框窗體

private point mouseoffset private bool ismousedown false private void form1 mousedown object sender,system.windows.forms.mouseeventargs e private void...

C 無邊框控制窗體移動

雖然c 自帶有邊框,但是在開發過程中那個邊框並不是很好看,當我們不使用那個邊框的時候,那麼就會面臨乙個問題,沒有c 自帶的邊框了,那麼窗體怎麼進行移動呢?這涉及到c 的三個事件 1.mousedown 滑鼠單擊事件 2.mousemove 滑鼠經過事件 3.mouseup 滑鼠抬起事件 在寫的時候依...

C 無邊框窗體移動和改變大小的實現

自己給軟體做的 將窗體設為無邊框後,想要其具有正常窗體的移動和改變大小功能,以下 可以實現。需新增using system.runtime.interopservices dllimport user32.dll public static extern bool releasecapture dl...