自定义控件上的事件处理

时间:2022-10-07 19:45:44
做了一个UserControl,里面有两个button,
然后把这个控件放在一个form上
单击button1,发现没有激活usercontrol.click事件,激活了自定义控件里面写的button1事件。
如果在控件其它位置单击,就可以激活click事件。
现在我想在form类中响应相应的button1_click()事件和button2_click事件,应该怎么做?

7 个解决方案

#1


自己定义两个时间,然后再button1_click()事件和button2_click事件里激活自己定义的事件

#2


帮楼主顶一下,我也有同样的问题,继承了TextBox,重写了keypress事件,在FORM中拉进该控件,在控件的keypress再写入代码,按健,却没有激活UserControl.keypress事件,而重写的KEYPRESS事件到是激活了.

#3


楼上的兄弟,代码怎么写?用timer控件吗?

#4


public event System.EventHandler button1click;

button1_click(object sender,System.EventArgs e)
{
 onbutton1click(e);
 //code
}

onbutton1click(System.EventArgs e)
{
 if(button1click!=null)button1click(button1,e);
}



#5


protected override void OnKeyPress(KeyPressEventArgs e)
{
if ((e.KeyChar=='\b')||((e.KeyChar>='0')&& (e.KeyChar<='9'))? true:false)
{
e.Handled=false;
}
else
e.Handled=true;
}
这个是继承textbox控件重写OnKeyPress的代码
然后在FORM中放入改控件,在keypress中写入:
private void numTextBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{

MessageBox.Show("11111");
}
但不响应,按照楼上的方法好象不行哎.

#6


谢谢楼上的,这个。。。咳以前做过的,都忘记了,丢人啊。
搞定了,谢谢。

#7


this.button1.Click += new System.EventHandler(this.button_Click);

private void button_Click(object sender, System.EventArgs e)
{


}

#1


自己定义两个时间,然后再button1_click()事件和button2_click事件里激活自己定义的事件

#2


帮楼主顶一下,我也有同样的问题,继承了TextBox,重写了keypress事件,在FORM中拉进该控件,在控件的keypress再写入代码,按健,却没有激活UserControl.keypress事件,而重写的KEYPRESS事件到是激活了.

#3


楼上的兄弟,代码怎么写?用timer控件吗?

#4


public event System.EventHandler button1click;

button1_click(object sender,System.EventArgs e)
{
 onbutton1click(e);
 //code
}

onbutton1click(System.EventArgs e)
{
 if(button1click!=null)button1click(button1,e);
}



#5


protected override void OnKeyPress(KeyPressEventArgs e)
{
if ((e.KeyChar=='\b')||((e.KeyChar>='0')&& (e.KeyChar<='9'))? true:false)
{
e.Handled=false;
}
else
e.Handled=true;
}
这个是继承textbox控件重写OnKeyPress的代码
然后在FORM中放入改控件,在keypress中写入:
private void numTextBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{

MessageBox.Show("11111");
}
但不响应,按照楼上的方法好象不行哎.

#6


谢谢楼上的,这个。。。咳以前做过的,都忘记了,丢人啊。
搞定了,谢谢。

#7


this.button1.Click += new System.EventHandler(this.button_Click);

private void button_Click(object sender, System.EventArgs e)
{


}