C# Form:
自定义了用户控件UCTel,包含pictures、label 两个控件。
自定义了事件HxClick.
public event EventHandler HxClick; private void PictureBox1_Click(object sender, EventArgs e)
{ if (HxClick != null) HxClick(sender, e);
} private void label1_Click(object sender, EventArgs e)
{
if (HxClick != null) HxClick(sender, e);
} 用户控件生成封装好.
在Form1的button1事件中动态的添加控件 private void button1_Click(object sender, EventArgs e)
{
for (i=1,i++,...)
{
UCTel ucTel= new UCTel();
//给添加控件取名
ucTel.name="xx"+i.tostring();
ucTel.tag="???"
... ucTel.ucTel_HxClick += new System.EventHandler(this.ucTel_HxClick);
}
} private void ucTel_HxClick(object sender, EventArgs e)
{
怎样捕捉是那个控件触发事件,主要是为了得到触发事件控件的其他属性。
}
用(UCTel)sender不对, sender得到的是picture,或者label,但UCTEL是个用户自定义控件。
自定义了用户控件UCTel,包含pictures、label 两个控件。
自定义了事件HxClick.
public event EventHandler HxClick; private void PictureBox1_Click(object sender, EventArgs e)
{ if (HxClick != null) HxClick(sender, e);
} private void label1_Click(object sender, EventArgs e)
{
if (HxClick != null) HxClick(sender, e);
} 用户控件生成封装好.
在Form1的button1事件中动态的添加控件 private void button1_Click(object sender, EventArgs e)
{
for (i=1,i++,...)
{
UCTel ucTel= new UCTel();
//给添加控件取名
ucTel.name="xx"+i.tostring();
ucTel.tag="???"
... ucTel.ucTel_HxClick += new System.EventHandler(this.ucTel_HxClick);
}
} private void ucTel_HxClick(object sender, EventArgs e)
{
怎样捕捉是那个控件触发事件,主要是为了得到触发事件控件的其他属性。
}
用(UCTel)sender不对, sender得到的是picture,或者label,但UCTEL是个用户自定义控件。
{
//PictureBox
}
if(sender is Label)
{
//Label
}
怎样得到:ucTel.tag
System.Reflection.PropertyInfo myPI = myType.GetProperty("Tag") ;
最简单,谢谢各位!!
结贴