【发布时间】:2016-11-02 04:53:41
【问题描述】:
当窗体没有获得焦点时,单击窗体上 RichTextBox 内的超链接不会引发单击事件。我必须点击两次。这是设计使然吗?如果是错误,最优雅的解决方案是什么?无论表单是否获得焦点,我都想通过单击来引发 clicked 事件。
【问题讨论】:
标签: .net winforms richtextbox
当窗体没有获得焦点时,单击窗体上 RichTextBox 内的超链接不会引发单击事件。我必须点击两次。这是设计使然吗?如果是错误,最优雅的解决方案是什么?无论表单是否获得焦点,我都想通过单击来引发 clicked 事件。
【问题讨论】:
标签: .net winforms richtextbox
【讨论】:
简单地使用
Mouse_Enter
form1.getfocus
我确定您知道鼠标输入事件,所以是的,这样做应该可以工作....
【讨论】:
您必须单击两次,因为表单不在焦点上;第一次单击使表单成为焦点,第二次单击触发RichTextBox 控件的LinkClicked 事件。
一旦鼠标光标在其边界内,您可以将表单设置为焦点。将以下代码添加到表单的构造函数中:
MouseEnter += (s, e) => Focus();
然后在窗体处于焦点时单击超链接,并且LinkClicked 事件将根据需要在第一次单击时触发。
【讨论】: