请教如何不触发KEYPRESS事件

欧大林 2012-07-13 05:03:56
我有一个按钮button1,一个textbox1。
当窗口启动时,textbox1输入数据并按下回车,执行keypress事件,
我想让button1的click事件发生后,textbox1的keypress事件不触发,代码该如何写?
...全文
330 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 2 楼 的回复:

C# code
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.KeyPress -= new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
}


这个会报出错误 :t……
[/Quote]
这个方法再用的时候,前提要保证你已经绑定过这个方法,另外你也可用增加一个变量,在KeyPress 事件里去判断呀,如果true的时候执行KeyPress 的处理,如果false,直接return,不执行处理
欧大林 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

C# code
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.KeyPress -= new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
}
[/Quote]

这个会报出错误 :this.textBox1.KeyPress是一个“方法组”,无法为它赋值
脑中有飞鸟 2012-07-13
  • 打赏
  • 举报
回复
你增加一个变量判断一下,然后根据这个变量的情况决定keypress委托的-或者+
guoyong4321 2012-07-13
  • 打赏
  • 举报
回复
不至于非得让事件不触发吧?
guoyong4321 2012-07-13
  • 打赏
  • 举报
回复
keypress里面加一个条件,例如

if(str=1)

{

}
然后button中设置str=0不就可以了。
熙风 2012-07-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

C# code
private void button1_Click(object sender, EventArgs e)
{
this.textBox1.KeyPress -= new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
}
[/Quote]

+1
lbc2247117 2012-07-13
  • 打赏
  • 举报
回复
  private void button1_Click(object sender, EventArgs e)
{
this.textBox1.KeyPress -= new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);
}
Cloud_drift 2012-07-13
  • 打赏
  • 举报
回复
1.当按下 button1 后,把 keypress 加载的委托给 -= 掉。
2.添加一个状态量 flag, keypress 的在处理函数中会对这个状态量进行判断。而按下 button1 后会将 flag = false.

111,093

社区成员

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

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

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