4. 焦点

来源:互联网 发布:疯狂java讲义好不好 编辑:程序博客网 时间:2024/03/29 05:18

作为一个编辑器,鼠标点击上去后就应该获取焦点,然后显示光标,当鼠标点到其他的控件上时,就应该失去焦点,光标停止显示或闪烁。实际操作中,随便创建一个自定义控件(User Control), 在其GotFocus和LostFocus事件中加入显示和隐藏光标的代码,这样就能模拟一个输入框在获取焦点时的表现了。 但是仅仅这样还是不够的,可以看见光标通过Tab键来切换焦点时是正常的,但是鼠标点击上去却没有效果。我一直以为这个是Control的某个配置,后来看见有个SetStyle方法,其中有个ControlStyles.Selectable 说明控件是否可以接收焦点,设置该值为True后,依然不起效果,很晕。再找找有什么设置没有。最终还是在ICSharp的代码中发现其MouseDown事件处理中无耻在最后写了句 textArea.Focus(). 依法炮制控件,果然有用。

原创粉丝点击