我创建了一个 Outlook 插件,其中有时会显示一个带有四个按钮的窗口窗体。我试图将焦点默认设置为第一个按钮,但是每当我将此按钮默认为开始时的焦点按钮时,视觉“选定”边框将不会出现在按钮周围。
有什么想法可以实现吗?
最佳答案
您可以使用这些选项中的任何一个来将焦点设置在窗体的 Load
事件中的控件上:
this.ActiveControl = this.button1;
this.button1.Select();
this.Show(); this.button1.Focus();
.
只有在将窗体的Visible
属性设置为真
。
选择按钮后,按钮的边框将以显示它是事件控件的方式绘制,但不会绘制焦点提示。
作为一个快速而肮脏的修复,你可以发送一个 Tab,然后一个 Shift + Tab 到你的表格:
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("+{TAB}");
如果您有兴趣更改 Button
的标准行为以在代码中选择按钮或使用鼠标时看到焦点提示,您可以创建自己的继承 Button
的按钮并覆盖其 ShowFocusCues
以返回 Focused
值。您可以阅读更多相关信息 here :
public class MyCustomButton : Button
{
protected override bool ShowFocusCues
{
get { return this.Focused; }
}
}
关于c# - 在 Windows 窗体上,将选项卡焦点设置为按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38504389/