自定义控件上的事件处理

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

...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yaoyaomaomao 2005-10-17
  • 打赏
  • 举报
回复
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");
}
但不响应,按照楼上的方法好象不行哎.
zyug 2005-10-17
  • 打赏
  • 举报
回复
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);
}



yaoyaomaomao 2005-10-17
  • 打赏
  • 举报
回复
楼上的兄弟,代码怎么写?用timer控件吗?
yaoyaomaomao 2005-10-17
  • 打赏
  • 举报
回复
帮楼主顶一下,我也有同样的问题,继承了TextBox,重写了keypress事件,在FORM中拉进该控件,在控件的keypress再写入代码,按健,却没有激活UserControl.keypress事件,而重写的KEYPRESS事件到是激活了.
seemon 2005-10-17
  • 打赏
  • 举报
回复
自己定义两个时间,然后再button1_click()事件和button2_click事件里激活自己定义的事件
guyan033 2005-10-17
  • 打赏
  • 举报
回复
this.button1.Click += new System.EventHandler(this.button_Click);

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


}

rottenapple 2005-10-17
  • 打赏
  • 举报
回复
谢谢楼上的,这个。。。咳以前做过的,都忘记了,丢人啊。
搞定了,谢谢。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧