在C 中自定義控制項的智慧型標籤

2022-02-21 17:10:08 字數 1458 閱讀 9189

這是自定義textbox的智慧型標籤,我們可以實現個性化設定,用來方便我們自定義自己的控制項,下面就詳細介紹整個過程。

1.先實現擴充套件textbox的控制項,我這裡是定義了乙個mytextbox,繼承自textbox.下面請看**:

public partial class mytextbox : system.windows.forms.textbox

set}

///

/// 顯示在智慧型標籤的屬性

///

public string columnname

set}

public mytextbox()

///

/// 重寫窗體處理的訊息

///

/// 訊息

protected override void wndproc(ref message m)}}

這樣我們就完成了,乙個簡單的擴充套件控制項。

2.下面要繼承designeractionlist類,這個類的作用是用於建立智慧型標記面板的項列表的型別。

而且重寫getsortedactionitems這個方法,下面請看**:

public class mytextboxactionlist:designeractionlist

///

/// 該控制項的屬性

///

public mydatagridview gridviewname

set}

///

/// 該控制項的屬性

///

public string columnname

set}///

/// 重寫父類的方法,實現在智慧型標籤顯示的屬性

///

///

public override designeractionitemcollection getsortedactionitems()

3.然後繼承parentcontroldesigner這個類,它的作用是用來設定控制項的行為。在**中,我們要重寫它的actionlists的屬性,在這個actionlists新增我們上面定義的mytextboxactionlist.這樣就把控制項的智慧型標籤自定義了。

public class textboxdesigner : parentcontroldesigner

return _actionlists;}}

}4.最後一步就是,在我們擴充套件的mytextbox的控制項中,新增乙個特性。

[designer(typeof(overridecontrol.textboxdesigner))]

public partial class mytextbox : system.windows.forms.textbox

下面**跟第一點一樣。這樣就完成了乙個自定義控制項的標籤。

在C 中建立自定義控制項

在c 中建立自定義控制項 建立自定義的控制項有下面幾種方法 1 建立繼承自usercontrol的控制項。對於這樣的控制項,它其實是乙個控制項的容器,你可以像設計一般的窗體一樣設計它,因此,標準的控制項都是可用的。當然了,如果願意,你也可以隨意地在paint事件的處理函式中修改它的外觀。這類自定義控...

C 自定義控制項

做radiobutton button textbox的自定義控制項 先在工程分別新增3個類 然後分別在類裡面寫 diybutton.cs diytextbox.cs diyradiobutton.cs 寫好自定義控制項後就開始更改一些地方 窗體下有個窗體名.designer.cs開啟這個 檔案 更...

c 自定義控制項

第一步 新建乙個控制項庫專案 mycontrol 第二步 從工具箱裡面拖動1個picturebox 1個button 6個lable控制項到使用者介面上,布局如下 如上圖,設定picturebox的name為picbox,背景為白色,button的name為btnopen,另外靠左的三個lable的...