C#.NET 封装自定义组件(控件)Dll

348 篇文章 0 订阅
C#.NET 封装自定义组件(控件)Dll

封装自定义控件很简单,没什么技术含量,这里通过封装自定义的数字文本框实例简单总结一下:


【1】新建自定义控件库 -- Windows Forms Control Library


\

frameborder="0" scrolling="no" vspace="0" hspace="0" style="margin: 0px; padding: 0px; border: currentColor; border-image: none; width: 100%; height: 74px; vertical-align: baseline; display: block; position: static;" allowtransparency="true">


【2】添加自定义组件 -- Component Class


\

frameborder="0" scrolling="no" vspace="0" hspace="0" style="margin: 0px; padding: 0px; border: currentColor; border-image: none; width: 100%; height: 74px; vertical-align: baseline; display: block; position: static;" allowtransparency="true">


【3】继承TextBox,添加KeyPress事件,代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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导入到工具箱有问题,可以直接将文件拖入。。。


<img class="keylink" style="width: 630px; height: 197.12px;" alt="n块ズ…�" src="http://www.2cto.com/uploadfile/Collfiles/20141119/20141119084206323.jpg" ym"="" target="_blank">源码:

http://download.csdn.net/detail/aoshilang2249/8172891

上一篇: c#中Lock(锁)的研究以及跨线程UI的操作
下一篇: c#MD5加密
相关文章


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值