然后把这个控件放在一个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);
}
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");
}
但不响应,按照楼上的方法好象不行哎.
{
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)
{
}
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);
}
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");
}
但不响应,按照楼上的方法好象不行哎.
{
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)
{
}
private void button_Click(object sender, System.EventArgs e)
{
}