0
点赞
收藏
分享

微信扫一扫

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


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


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

C# WinForm 封装自定义组件(控件)Dll_自定义控件


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

C# WinForm 封装自定义组件(控件)Dll_C#_02


【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添加到工具箱

C# WinForm 封装自定义组件(控件)Dll_C#_03


【5】测试自定义的控件 -- 验证是否只能输入数字

C# WinForm 封装自定义组件(控件)Dll_System_04


【6】注意问题

必须采用AnyCPU编译,如果生成的Dll导入到工具箱有问题,可以直接将文件拖入。。。

C# WinForm 封装自定义组件(控件)Dll_C#_05



举报

相关推荐

0 条评论