在C# 中,在TextBox 的事件问题

freelove1 2004-05-03 12:45:29
的KeyDown 事件中,如果我检测到某一个按键值,就取消这次按键,我该怎么做?

private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.Keycode==46)
{
//过滤掉这次按键,让其它所有的事件不再触发
}


}
...全文
79 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Elusive 2004-05-03
  • 打赏
  • 举报
回复
e.Handled=true;
ghostmirror 2004-05-03
  • 打赏
  • 举报
回复
同意chenyuming2004(一切从2004开始

在 keydown里面

e.handled对字符无效
chenyuming2004 2004-05-03
  • 打赏
  • 举报
回复
取消按键就是用下面的方法
e.Handled=true;

不过KeyDown里面
只对控制键才能取消掉,
KeyPress
只对普通字符有效,
控制键又无效。
Firestone2003 2004-05-03
  • 打赏
  • 举报
回复
KeyPress和KeyDown处理的键不同的!
非字符键不会引发 KeyPress 事件;但非字符键却可以引发 KeyDown 和 KeyUp 事件。

chenyu001 2004-05-03
  • 打赏
  • 举报
回复
private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyValue==65)
{
e.Handled=false;

}


}
Elusive 2004-05-03
  • 打赏
  • 举报
回复
你在KeyPress理处理
wg815ceo 2004-05-03
  • 打赏
  • 举报
回复
e.keyValue好像是验证单个按键的!
freelove1 2004-05-03
  • 打赏
  • 举报
回复
不行啊
private void textBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if(e.KeyValue==65)
{
e.Handled=true;

}


}

但是 textBox 上的值还是改变了,而且触发了
textBox_TextChanged(object sender, System.EventArgs e)

111,097

社区成员

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

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

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