在Windows窗体上,将选项卡焦点设置为按钮

时间:2016-07-21 12:30:59

标签: c# winforms outlook vsto outlook-addin

我创建了一个Outlook添加,其中在某些时候显示一个窗体,其上有四个按钮。我试图将焦点默认为第一个按钮,但是每当我将此按钮默认为开始时的焦点按钮时,视觉“选定”边框将不会出现在按钮周围。

我是如何实现这一目标的?

1 个答案:

答案 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