c#實(shí)現(xiàn)無(wú)標(biāo)題欄窗口的拖動(dòng)
更新時(shí)間:2013年06月08日 15:12:08 作者:
本篇文章是對(duì)c#中實(shí)現(xiàn)無(wú)標(biāo)題欄窗口拖動(dòng)的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
當(dāng)把窗體的FormBorderStyle屬性設(shè)為None后會(huì)導(dǎo)致邊框沒(méi)了,結(jié)果窗體無(wú)法用鼠標(biāo)拖動(dòng)、最大、最下化和關(guān)閉……
下面解決窗體可拖動(dòng)問(wèn)題:
1.首先導(dǎo)入命名空間:
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)//按下的是鼠標(biāo)左鍵
{
Capture = false;//釋放鼠標(biāo)使能夠手動(dòng)操作
SendMessage(Handle, 0x00A1, 2, 0);//拖動(dòng)窗體
}
}
關(guān)于最小化、最大化和關(guān)閉按鈕,則可以利用按鈕控件,再把按鈕控件的背景圖片設(shè)為相應(yīng)的圖片,再在各自的單擊事件中指明所需操作即可,這樣不僅可以實(shí)現(xiàn)最大、最小、關(guān)閉的功能,還可以將這些按鈕美化。
下面解決窗體可拖動(dòng)問(wèn)題:
1.首先導(dǎo)入命名空間:
復(fù)制代碼 代碼如下:
using System.Runtime.InteropServices;
2.然后如下代碼:
復(fù)制代碼 代碼如下:
[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)//按下的是鼠標(biāo)左鍵
{
Capture = false;//釋放鼠標(biāo)使能夠手動(dòng)操作
SendMessage(Handle, 0x00A1, 2, 0);//拖動(dòng)窗體
}
}
關(guān)于最小化、最大化和關(guān)閉按鈕,則可以利用按鈕控件,再把按鈕控件的背景圖片設(shè)為相應(yīng)的圖片,再在各自的單擊事件中指明所需操作即可,這樣不僅可以實(shí)現(xiàn)最大、最小、關(guān)閉的功能,還可以將這些按鈕美化。
相關(guān)文章
C#使用正則表達(dá)式實(shí)現(xiàn)常見(jiàn)的格式驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了C#如何使用正則表達(dá)式實(shí)現(xiàn)常見(jiàn)的格式驗(yàn)證,例如:電話號(hào)碼、密碼、郵編等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01C# 實(shí)現(xiàn)Eval(字符串表達(dá)式)的三種方法
這篇文章主要介紹了C# 實(shí)現(xiàn)Eval(字符串表達(dá)式)的三種方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-04-04詳解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實(shí)現(xiàn)郵件報(bào)警通知的實(shí)現(xiàn)示例
這篇文章主要介紹了C#結(jié)合SMTP實(shí)現(xiàn)郵件報(bào)警通知的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07