最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WindowsForm移動一個沒有標題欄的窗口的方法

 更新時間:2020年07月18日 09:48:11   作者:zhuanghamiao  
這篇文章主要介紹了WindowsForm移動一個沒有標題欄的窗口的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

在WinForm程序中,要移動沒有標題欄的窗口,基本的實現(xiàn)思路是監(jiān)聽需要拖動窗口內(nèi)的控件的鼠標事件,然后將鼠標位置發(fā)送給窗口進行相應的位移就可以了。通過借用Windows API也可以很容易實現(xiàn)這一點,比如像下面這樣。

public class Win32Api
{
  public const int WM_SYSCOMMAND = 0x112;
  public const int SC_DRAGMOVE = 0xF012;

  [DllImport("user32.Dll", EntryPoint = "ReleaseCapture")]
  public extern static void ReleaseCapture(); // 鼠標捕獲
  [DllImport("user32.Dll", EntryPoint = "SendMessage")]
  public extern static void SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam); // 將消息發(fā)送給指定的窗口
}

private void pnlHeader_MouseDown(object sender, MouseEventArgs e)
{
  Win32Api.ReleaseCapture();
  Win32Api.SendMessage(this.Handle, Win32Api.WM_SYSCOMMAND, Win32Api.SC_DRAGMOVE, 0);
}

當然,你還可以向這樣向窗口發(fā)送消息,來實現(xiàn)拖動自定義標題欄移動窗口

public const int WM_NCLBUTTONDOWN = 0x00A1;
public const int HTCAPTION = 2;

private void pnlHeader_MouseDown(object sender, MouseEventArgs e)
{
  if (e.Button == MouseButtons.Left)
  {
    // 釋放控件已捕獲的鼠標
    pnlHeader.Capture = false;

    // 創(chuàng)建并發(fā)送WM_NCLBUTTONDOWN消息
    Message msg =
      Message.Create(this.Handle, Win32Api.WM_NCLBUTTONDOWN,
        new IntPtr(Win32Api.HTCAPTION), IntPtr.Zero);
    this.DefWndProc(ref msg);
  }
}

以上就是WindowsForm移動一個沒有標題欄的窗口的方法的詳細內(nèi)容,更多關(guān)于WindowsForm 移動窗口的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#監(jiān)控文件夾并自動給圖片文件打水印的方法

    C#監(jiān)控文件夾并自動給圖片文件打水印的方法

    這篇文章主要介紹了C#監(jiān)控文件夾并自動給圖片文件打水印的方法,涉及C#針對文件夾及圖片操作的相關(guān)技巧,非常具有實用價值,需要的朋友可以參考下
    2015-05-05
  • C#如何將Access中以時間段條件查詢的數(shù)據(jù)添加到ListView中

    C#如何將Access中以時間段條件查詢的數(shù)據(jù)添加到ListView中

    這篇文章主要介紹了C# 將Access中以時間段條件查詢的數(shù)據(jù)添加到ListView中,需要的朋友可以參考下
    2017-07-07
  • 輸出的文本實現(xiàn)對齊的方法(超簡單)

    輸出的文本實現(xiàn)對齊的方法(超簡單)

    下面小編就為大家分享一篇c#輸出的文本實現(xiàn)對齊的方法,特別簡單!希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • C#中backgroundworker的使用教程

    C#中backgroundworker的使用教程

    這篇文章主要介紹了C#中backgroundworker的使用教程,在文中有兩點需要注意的,大家可以看下
    2018-04-04
  • C#?AStar尋路算法詳解

    C#?AStar尋路算法詳解

    AStar算法是一種圖形搜索算法,常用于尋路。他是以廣度優(yōu)先搜索為基礎(chǔ),集Dijkstra算法和最佳優(yōu)先(best?fit)于一身的一種算法,本文主要介紹了AStar尋路算法的原理與實現(xiàn),需要的可以參考一下
    2023-03-03
  • c#如何顯式實現(xiàn)接口成員

    c#如何顯式實現(xiàn)接口成員

    這篇文章主要介紹了c#如何顯式實現(xiàn)接口成員,幫助大家更好的利用c#處理接口,感興趣的朋友可以了解下
    2020-10-10
  • C#引用類型和值類型的適用場合和區(qū)別

    C#引用類型和值類型的適用場合和區(qū)別

    今天小編就為大家分享一篇關(guān)于C#引用類型和值類型的適用場合和區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C#仿密??üδ艿暮唵螌崿F(xiàn)代碼

    C#仿密??üδ艿暮唵螌崿F(xiàn)代碼

    昨天拿C#寫了個簡單的密??ǔ绦颍–onsole的,偷懶了一下 哈哈),實現(xiàn)了隨機生成5x5矩陣卡、轉(zhuǎn)換為字符串、從字符串讀取矩陣卡以及簡單驗證的功能
    2013-04-04
  • C#實現(xiàn)鬧鐘AlarmClock實例代碼

    C#實現(xiàn)鬧鐘AlarmClock實例代碼

    這篇文章主要介紹了C#實現(xiàn)鬧鐘AlarmClock實例代碼,很實用的功能,需要的朋友可以參考下
    2014-08-08
  • 基于C#編寫計算機選課程序

    基于C#編寫計算機選課程序

    在這篇文章中將介紹如何開發(fā)一個簡單的計算機選課程序,文中主要使用了C#語言和Windows Forms來構(gòu)建這個應用程序,感興趣的小伙伴可以了解下
    2024-10-10

最新評論

镇雄县| 山阴县| 汽车| 鹤岗市| 安远县| 集安市| 敦化市| 游戏| 固原市| 常熟市| 高尔夫| 西平县| 明光市| 镇康县| 巍山| 定边县| 莆田市| 郑州市| 定远县| 贵溪市| 建瓯市| 新余市| 沅陵县| 宜昌市| 昂仁县| 青神县| 道孚县| 潜山县| 东至县| 错那县| 瑞金市| 潼关县| 万安县| 兴义市| 来宾市| 黎城县| 西宁市| 泗阳县| 双桥区| 亳州市| 屯昌县|