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

本文关键字:焦点 设置 按钮 选项 windows 窗体 | 更新日期: 2023-09-27 17:57:58

我创建了一个Outlook加载项,它在某个时刻显示一个带有四个按钮的窗口窗体。我试图将焦点默认为第一个按钮,但每当我将此按钮默认为启动时的焦点按钮时,按钮周围就不会出现可见的"选定"边框。

有什么想法我可以做到这一点吗?

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

您可以使用以下任一选项将焦点设置在形式为的Load事件中的控件上

  • this.ActiveControl = this.button1;
  • this.button1.Select();
  • this.Show(); this.button1.Focus();

只有在窗体的Visible属性设置为true之后,才能在窗体的Load事件中使用Control.Focus方法来设置控件的焦点。

选择按钮后,按钮的边框将以显示其为活动控件的方式绘制,但不会绘制焦点提示。

作为一个快速而肮脏的修复,您可以将选项卡Shift+<kbd]选项卡>发送到您的表单:

SendKeys.SendWait("{TAB}");
SendKeys.SendWait("+{TAB}");

如果您有兴趣在代码中选择按钮或使用鼠标时更改Button的标准行为以查看焦点提示,则可以创建继承Button的自己的按钮,并覆盖其ShowFocusCues以返回Focused值。你可以在这里阅读更多信息:

public class MyCustomButton : Button
{
    protected override bool ShowFocusCues
    {
        get { return this.Focused; }
    }
}