在窗口中按键没反应,为什么?

paul9137 2008-03-22 04:38:05
keypress和keydown都没有反应,很怪
不知为什么。请看源码
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyValue == 13)//如果是回车 打开窗口
{
Form Regform = new Form2();
Regform.ShowDialog();
}
}
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dancingbit 2008-03-22
  • 打赏
  • 举报
回复
我用的是KeyPress,不过判断条件写成if(e.KeyChar=='\r')
你可以在这一句设个断点,看看是否确实引发了这个事件
如果是不能引发事件的原因,可以将Form的KeyPreview属性设为true
h_w_king 2008-03-22
  • 打赏
  • 举报
回复
你的Form上有控件, 此时焦点在这些控件上, 所以你的keypress和keydown都没有反应.

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(keyData==Keys.Enter)
{
Form Regform = new Form2();
Regform.ShowDialog();
}
return base.ProcessCmdKey(ref msg, keyData);
}

111,119

社区成员

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

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

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