這是自定義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的...