摘要: C#中的自定义控件中的属性(Property)、事件(Event)及一些相关特性(Attribute)的总结
今天学习了下C#用户控件开发添加自定义属性的事件,主要参考了MSDN,总结并实验了一些用于开发自定义属性和事件的特性(Attribute)。
在这里先说一下我的环境:
操作系统:Windows7旗舰版(Service Pack 1)
VS版本:Microsoft Visual Studio Ultimate 2012,版本 11.0.50727.1 RTMREL
.NET Framework版本:4.5.50938
C#版本:Visual C# 2012
一、准备工作
1、建立一个C#窗体应用程序,主窗体起名为FormMain,向解决方案中再加入一个用户控件,起名为TestUserControl
2、在TestUserControl中放一个按钮,取名为btnTest
3、控件做好后,会出现在【工具箱】内
4、将控件拖拽到一个窗体(Form)上就可以使用了,取名testUserControl1。这个名字是VS默认取的,即首字母小写,最后补上数字作为序号。
二、添加自定义属性
在TestUserControl类中,添加下面的代码:
/// <summary>
/// 按钮名称
/// </summary>
public string ButtonName
{
get
{
//TODO
return btnTest.Text;
}
set
{
//TODO
btnTest.Text = value;
}
}
代码添加完毕后,在FormMain上加入的testUserControl1的属性中,就会出现BtnName了
三、添加自定义事件
在TestUserControl类中,添加下面的代码:
/// <summary>
/// 事件
/// </summary>
public event EventHandler BtnTestClick;
/// <summary>
/// 测试按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnTest_Click(object sender, EventArgs e)
{
if (BtnTestClick != null)
{
//TODO
BtnTestClick(sender, e);
}
}
代码添加完毕后,在FormMain上加入的testUserControl1的事件中,就会出现BtnTestClick了
在FormMain的代码中实现这个函数
private void testUserControl1_BtnTestClick(object sender, EventArgs e)
{
MessageBox.Show(sender.ToString() + "\r\n"