狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#Winform自定義窗體、重繪標題欄、自定義控件學(xué)習

admin
2021年1月29日 18:37 本文熱度 3453

雖然現(xiàn)在都在說winform窗體太丑了,但是我也能盡量讓桌面應(yīng)用程序漂亮那么一點點。

話不多說,先上圖:



重繪標題欄

先將原生窗體設(shè)置成無邊框,F(xiàn)ormBoderStyle設(shè)置成None,然后添加一個panpel控件設(shè)置成窗體的的標題欄:


然后添加四個Label控件充當標題和最小化最大化關(guān)閉按鈕。

此時界面的原型就出來了。

完善窗體
當然原型出來了,肯定會讓其它窗體繼承這個窗體,難點就在于怎么讓子窗體標題實時更新標題,我是這樣做的,重寫(override)j基類窗體的Text:

public override string Text
{
get => base.Text;
set
{
base.Text = value;
if (Title != null)
{
Title.Text = value;
}
}
}

這樣繼承的時候就可以動態(tài)更新標題了,然后將最大化最小化關(guān)閉事件寫一下就好了。自己添加了關(guān)閉最小化和最大化按鈕的屬性,代碼如下:

private bool mvalueMin = true;
[Description("是否關(guān)閉最小化窗體"), Category("控制")]
public bool CloseMinButton
{
get { return mvalueMin; }
set
{
mvalueMin = value;
MinClose.Visible = mvalueMin;
}
}
private bool mvalueMax = true;
[Description("是否關(guān)閉最大化窗體"), Category("控制")]
public bool CloseMaxButton
{
get { return mvalueMax; }
set
{
mvalueMax = value;
MaxClose.Visible = mvalueMax;
}
}

但是無邊框的窗體有一個界面無法拖動的老大難問題,這里借鑒的是網(wǎng)友的 就沒有自己寫了,具體是看的那篇博客忘記了,如有冒犯,請聯(lián)系我刪除:

[DllImport("user32.dll")]
public static extern bool ReleaseCapture();
[DllImport("user32.dll")]
public static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
private const int VM_NCLBUTTONDOWN = 0XA1;//定義鼠標左鍵按下
private const int HTCAPTION = 2;
private void BaseForm_MouseDown(object sender, MouseEventArgs e)
{
//為當前應(yīng)用程序釋放鼠標捕獲
ReleaseCapture();
//發(fā)送消息 讓系統(tǒng)誤以為在標題欄上按下鼠標
SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
//為當前應(yīng)用程序釋放鼠標捕獲
ReleaseCapture();
//發(fā)送消息 讓系統(tǒng)誤以為在標題欄上按下鼠標
SendMessage((IntPtr)this.Handle, VM_NCLBUTTONDOWN, HTCAPTION, 0);
}
#endregion


該文章在 2021/1/29 18:37:54 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved