1. 程式人生 > 實用技巧 >輕鬆定製標題欄

輕鬆定製標題欄

介紹 嗨朋友。我想給你另一個甜蜜的標題欄,將使你的應用程式美麗。我花了很多時間在網上找這樣的標題欄,但我沒有找到。但是在搜尋的過程中,我選擇了一些關鍵點來建立自己的標題欄。不好意思,我不記得我從哪裡選的這些觀點。但我應該對他們致以崇高的敬意。如果我再次找到它們,我會把它們放在我的文章中。 根據我的發現和使用我的知識,我將向您展示一個可定製的標題欄控制元件,它將節省您的時間。另一件事是,這還不能完全定製。這是為了讓你理解在c# . net中建立這樣一個控制元件是多麼容易。在這個建立過程中,我使用了以前的control of control框來建立這個標題欄。我將解釋如何為窗體建立控制元件框。然後我將繼續使用標題欄,它更容易開發。 使用的程式碼 儘管您擁有本文中的程式碼,但您可以根據需要更改外觀。此控制元件提供與Windows控制元件框相同的功能。 建立一個c#“Windows控制元件庫”專案,你就可以實現所有這些奇蹟。在控制元件窗體上放置三個標籤控制元件,併為它們分配影象。為了在游標移動時突出顯示按鈕,我們必須捕獲每個標籤控制元件的滑鼠移動事件,並新增以下程式碼段… 隱藏,複製Code

private void lblMinimize_MouseMove(object sender, MouseEventArgs e) 
{  
     lblMinimize.Image = global::window_control_box.Properties.Resources.minimize_sele;}

…在標籤控制元件中,必須為反映滑鼠移動效果的控制元件設定另一個影象。對於這些事情,你可以使用任何影象編輯/建立軟體。 我不打算講細節,因為這很簡單。所以您可以為所有三個標籤新增這些程式碼段。 接下來是如何建立最小化、最大化和關閉這些行為。為此,你必須在標籤控制元件的單擊事件上新增以下程式碼段: 隱藏,複製Code

Private void lblClose_Click(object sender, EventArgs e)
{
	this.ParentForm.Close();   
}

隱藏,複製Code

private void lblMaximize_Click(object sender, EventArgs e) 
{
        if (this.ParentForm.WindowState == FormWindowState.Maximized)
        {
	       this.ParentForm.WindowState = FormWindowState.Normal;
        }
        else
if(this.ParentForm.WindowState == FormWindowState.Normal) { this.ParentForm.WindowState = FormWindowState.Maximized; } this.ParentForm.Show(); }

這裡,我們所做的不是呼叫控制元件窗體的close方法,而是呼叫控制元件所在位置的父窗體。這對我們有幫助。 我在最大化點選事件中做了一些小的改變,使其行為與視窗最大化按鈕的行為相同。 要啟用最大化、最小化和關閉按鈕作為使用者的屬性,我們只需要新增以下程式碼段: 隱藏,收縮,複製Code

[Category("Appearance")] 
[Description("Gets or sets maximize button visibility")]
public bool Maximize
{
    set
    {
        lblMaximize.Visible = value;  
    }
    get
    {
        return lblMaximize.Visible; 
    } 
}

[Category("Appearance")]
[Description("Gets or sets minimize button visibility")]
public bool Minimize
{ 
    set
    {
        lblMinimize.Visible = value;
    }
    get
    {
        return lblMinimize.Visible;
    } 
}  

[Category("Appearance")]
[Description("Gets or sets close button visibility")]
public bool Close
{
    set
    {
        lblClose.Visible = value;
    }
    get
    {
        return lblClose.Visible;
    } 
} 

這就是建立“控制框”控制元件所需要執行的全部操作。一旦編譯,就會得到一個DLL。您可以簡單地在您的下一個控制元件建立專案中使用該DLL作為視覺化控制元件。你所要做的就是在c#的工具箱面板上點選右鍵,然後點選“選擇專案…”。從那裡,您瀏覽這個DLL並單擊OK。然後將此控制元件拖放到project Windows窗體上。 這裡我附上了兩個專案,建立了標題欄和控制框。在這兩種方法的幫助下,我確信您可以建立自己的標題欄。 如何在你的應用程式中使用標題欄 將這兩個DLL檔案複製到您的應用程式原始檔夾中,該資料夾是作為TitleBarControl專案的編譯而產生的。正如我上面解釋的,使用“choose items…”將控制元件新增到工具箱中。 將標題欄控制元件拖放到你的應用程式中,並將該控制元件的Doc屬性設定為“top”。在屬性對話方塊中,您可以看到標題欄控制元件的標題、標題字型、標題前面板、標題backcolor屬性。您可以設定這些屬性,也可以根據需要進行自定義。 顯示文字有一個限制。標題欄的顯示區域是固定的。我將在不久的將來提供一個增強版本。因為您擁有標題欄控制元件的程式碼,所以可以通過進行一些修改輕鬆克服這種情況。 一旦你將Doc屬性設定為“Top”,你就必須使用FormBorderStyle屬性來移除傳統的windows標題。你可以選擇form border style none或者你可以做一些技巧來移除標題欄,比如設定: ControlBox = false FormBorderStyle = FixedSingle Text = ""(應為空白) 一旦您如上所示設定了表單屬性,您將獲得具有自己標題欄的表單。 如果要更改控制元件的外觀,則必須修改在FormTitleBar和控制元件框控制元件中使用的影象。 更多的技巧。 如何申請MDI表格 如果有MDI格式的選單,可以將“FormTitileBar”控制元件拖放到選單上。然後它會得到主選單下面的位置。要向上移動,右鍵點選“FormTitleBar”控制元件,然後點選“傳送回”選項。這個就行了。 在你應用這個標題欄的所有窗體中,你必須通過調整窗體的屬性來取出視窗的標題欄。 歷史 2009年9月11日:初任 本文轉載於:http://www.diyabc.com/frontweb/news5181.html