c#實現(xiàn)無標題欄窗口的拖動
更新時間:2013年06月08日 15:12:08 作者:
本篇文章是對c#中實現(xiàn)無標題欄窗口拖動的方法進行了詳細的分析介紹,需要的朋友參考下
當把窗體的FormBorderStyle屬性設(shè)為None后會導致邊框沒了,結(jié)果窗體無法用鼠標拖動、最大、最下化和關(guān)閉……
下面解決窗體可拖動問題:
1.首先導入命名空間:
using System.Runtime.InteropServices;
2.然后如下代碼:
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd,int msg,int wparam,int lparam);
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)//按下的是鼠標左鍵
{
Capture = false;//釋放鼠標使能夠手動操作
SendMessage(Handle, 0x00A1, 2, 0);//拖動窗體
}
}
關(guān)于最小化、最大化和關(guān)閉按鈕,則可以利用按鈕控件,再把按鈕控件的背景圖片設(shè)為相應(yīng)的圖片,再在各自的單擊事件中指明所需操作即可,這樣不僅可以實現(xiàn)最大、最小、關(guān)閉的功能,還可以將這些按鈕美化。
下面解決窗體可拖動問題:
1.首先導入命名空間:
復制代碼 代碼如下:
using System.Runtime.InteropServices;
2.然后如下代碼:
復制代碼 代碼如下:
[DllImport("user32.dll")]
public static extern IntPtr SendMessage(IntPtr hWnd,int msg,int wparam,int lparam);
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)//按下的是鼠標左鍵
{
Capture = false;//釋放鼠標使能夠手動操作
SendMessage(Handle, 0x00A1, 2, 0);//拖動窗體
}
}
關(guān)于最小化、最大化和關(guān)閉按鈕,則可以利用按鈕控件,再把按鈕控件的背景圖片設(shè)為相應(yīng)的圖片,再在各自的單擊事件中指明所需操作即可,這樣不僅可以實現(xiàn)最大、最小、關(guān)閉的功能,還可以將這些按鈕美化。
相關(guān)文章
詳解C#批量插入數(shù)據(jù)到Sqlserver中的四種方式
本文主要講解一下在Sqlserver中批量插入數(shù)據(jù)。文中大數(shù)據(jù)批量插入方式一和方式四盡量避免使用,而方式二和方式三都是非常高效的批量插入數(shù)據(jù)方式,需要的朋友可以看下2016-12-12C#保存listbox中數(shù)據(jù)到文本文件的方法
這篇文章主要介紹了C#保存listbox中數(shù)據(jù)到文本文件的方法,涉及C#操作listbox數(shù)據(jù)的相關(guān)技巧,需要的朋友可以參考下2015-04-04C#結(jié)合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例
這篇文章主要介紹了C#結(jié)合SMTP實現(xiàn)郵件報警通知的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-07-07