標籤:c# 組件
封裝自訂控制項很簡單,沒什麼技術含量,這裡通過封裝自訂的數字文字框執行個體簡單總結一下:
【1】建立自訂控制項庫 -- Windows Forms Control Library
【2】添加自訂群組件 -- Component Class
【3】繼承TextBox,添加KeyPress事件,代碼如下:
using System;using System.Collections.Generic;using System.ComponentModel;using System.Diagnostics;using System.Linq;using System.Text;using System.Windows.Forms;namespace WinForms.SelfControl{ /// <summary> /// 數字文字框 -- 如果產生的Dll在工具箱中匯入不了,可以直接將Dll拖入 /// </summary> public partial class TextBoxNumber : TextBox { public TextBoxNumber() { InitializeComponent(); } public TextBoxNumber(IContainer container) { container.Add(this); InitializeComponent(); this.KeyPress += TextBoxNumber_KeyPress; } /// <summary> /// 只能輸入數字 /// </summary> void TextBoxNumber_KeyPress(object sender, KeyPressEventArgs e) { //如果輸入的不是數字鍵,也不是斷行符號鍵、Backspace鍵,則取消該輸入 if ( !(Char.IsNumber(e.KeyChar)) && e.KeyChar != (char)13 && e.KeyChar != (char)8 ) { e.Handled = true; } } }}
【4】將產生後的Dll添加到工具箱
【5】測試自訂的控制項 -- 驗證是否只能輸入數字
【6】注意問題
必須採用AnyCPU編譯,如果產生的Dll匯入到工具箱有問題,可以直接將檔案拖入。。。
測試源碼:
http://download.csdn.net/detail/aoshilang2249/8172891
C#.NET 封裝自訂群組件(控制項)Dll