C# 在windows窗体上,将选项卡焦点设置为按钮
我已经创建了一个Outlook加载项,在某个时候它会显示一个windows窗体,其中有四个按钮。我试图将焦点默认为第一个按钮,但是,每当我将此按钮默认为启动时的焦点按钮时,按钮周围将不会出现可视的“选定”边框C# 在windows窗体上,将选项卡焦点设置为按钮,c#,winforms,outlook,vsto,outlook-addin,C#,Winforms,Outlook,Vsto,Outlook Addin,我已经创建了一个Outlook加载项,在某个时候它会显示一个windows窗体,其中有四个按钮。我试图将焦点默认为第一个按钮,但是,每当我将此按钮默认为启动时的焦点按钮时,按钮周围将不会出现可视的“选定”边框 您知道如何实现这一点吗?您可以使用以下任一选项在窗体的Load事件中设置控件的焦点: this.ActiveControl=this.button1 this.button1.Select() this.Show();这个.button1.Focus() 只有在窗体的Visible属性
您知道如何实现这一点吗?您可以使用以下任一选项在窗体的
Load
事件中设置控件的焦点:
this.ActiveControl=this.button1代码>
this.button1.Select()代码>
this.Show();这个.button1.Focus()代码>
Visible
属性设置为true
后,才能在窗体的加载事件中使用Control.Focus
方法在控件上设置焦点
选择按钮后,按钮的边框将以显示活动控件的方式绘制,但不会绘制焦点提示
作为一个快速而肮脏的解决方案,您可以向表单发送一个选项卡和一个Shift+选项卡:
SendKeys.SendWait("{TAB}");
SendKeys.SendWait("+{TAB}");
如果您有兴趣更改按钮的标准行为,以便在代码中选择按钮或使用鼠标时查看焦点提示,则可以创建自己的按钮继承按钮
,并覆盖其显示焦点
以返回焦点
值。您可以阅读更多关于它的信息:
按钮有四种边框。按钮是否聚焦以及是否为默认UI按钮的组合。如果TabIndex属性或Select()方法无法获得您喜欢的边框,那么您很可能正在查找表单的AcceptButton属性。相关?
public class MyCustomButton : Button
{
protected override bool ShowFocusCues
{
get { return this.Focused; }
}
}