我创建了一个Outlook添加,其中在某些时候显示一个窗体,其上有四个按钮。我试图将焦点默认为第一个按钮,但是每当我将此按钮默认为开始时的焦点按钮时,视觉“选定”边框将不会出现在按钮周围。
我是如何实现这一目标的?
答案 0 :(得分:3)
您可以使用以下任一选项将焦点设置在表单的Load
事件中的控件上:
this.ActiveControl = this.button1;
this.button1.Select();
this.Show(); this.button1.Focus();
。只有在表单的Control.Focus
属性设置为Visible
后,才能在表单的Load事件中使用true
方法将焦点设置在控件上。
选择按钮后,按钮的边框将以显示其为活动控件的方式绘制,但不会绘制焦点提示。
作为快速而肮脏的修复,您可以发送 Tab 和 Shift + Tab 你的表格:
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("+{TAB}");
如果您有兴趣在代码中选择按钮或使用鼠标时更改Button
的标准行为以查看焦点提示,则可以创建自己的按钮,继承Button
并覆盖其{{1}返回ShowFocusCues
值。您可以阅读更多相关信息here:
Focused