惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园_首页
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
月光博客
月光博客
S
SegmentFault 最新的问题
量子位
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 司徒正美
博客园 - Franky
Google DeepMind News
Google DeepMind News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
C
Check Point Blog
The Cloudflare Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
Hugging Face - Blog
Hugging Face - Blog
博客园 - 叶小钗
V
Visual Studio Blog
V
V2EX
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 沐枫

git+svn 中文文件名乱码的处理 发展国产基础软件以及反盗版的异想 ASP.NET 日期数据服务端验证失败的原因 Mvc 2.0 Preview2 中 DefaultParameterValue 不支持枚举的Bug DynamicControl/DynamicField 例外的解决 推荐一个不错的flex ajax javascript资源网站 MySQL 5.1 无法创建、修改存储过程的解决(简单问题) 一个稍微好用些的 svn 服务器 VC中的一个很奇怪的问题--关于C4244 汉语编程++ 关于Array.IndexOf 从赋值到初始化 从for到foreach 关注C++0x: Concept Ultimate Toolbox 开源了 关于C#2.0编译器的一个瘕疵 VC2008 beta2 的几个新东西 C++指针探讨 (四) 函数对象 boost 1.34 终于简化了内嵌python的支持
.net winform 的 OnKeyDown 与 方向键
沐枫 · 2008-08-18 · via 博客园 - 沐枫

  随手写了一个小程序,突然遇到一个问题:

  在自定义的控件中,override了一个OnKeyDown,用于处理方向键。结果,无效,跟踪调试发现,方向键无法进入函数断点,但其它如数字字母等键可以。

  上网查了一下,发现不少人遇到同样的问题。不过不是在自定义控件中,是在窗体中。当然,解决的方法很简单,设置KeyPreview为true就可以了。

  自定义控件可没有KeyPreview属性。

  为什么方向键会这么特殊?很简单,原来,方向键、制表键(Tab)等用于窗体中的各个子控件的焦点切换,因此在OnKeyDown之前就被截获并处理掉了。

  知道原因了,解决起来就好办了:

  在自定义控件中如需要处理方向键,应该override OnPreviewKeyDown/OnPreviewKeyUp等弊病数就可以了。