C# Don';我不想把焦点放在表单打开上
我有这个问题。。。当我的表单打开时,一个按钮被聚焦。我不想让它让我专注。我在表单上放置了一个不可见的小面板,并将其设置为起始焦点(同时设置C# Don';我不想把焦点放在表单打开上,c#,winforms,C#,Winforms,我有这个问题。。。当我的表单打开时,一个按钮被聚焦。我不想让它让我专注。我在表单上放置了一个不可见的小面板,并将其设置为起始焦点(同时设置tabstop=false)。但还是。。。按钮已聚焦 有什么问题吗 我试过: private void Form_Load(object sender, EventArgs e) { panel.Focus(); } 但是仍然没有发生任何事情,按钮仍然对焦。我认为您的面板无法对焦。试着在你的面板内设置一个控件。我认为你的面板无法对焦。尝试面板内的控件。
tabstop=false
)。但还是。。。按钮已聚焦
有什么问题吗
我试过:
private void Form_Load(object sender, EventArgs e)
{
panel.Focus();
}
但是仍然没有发生任何事情,按钮仍然对焦。我认为您的面板无法对焦。试着在你的面板内设置一个控件。我认为你的面板无法对焦。尝试面板内的控件。您可以更改控件的设置,使其按所需顺序聚焦您可以更改控件的设置,使其按所需顺序聚焦如果您希望在打开表单时按钮不应有焦点,则需要更正
选项卡索引
属性。TabIndex
属性有一个整数作为值,指定按下tab键时控件获得焦点的顺序。如果控件的TabIndex
设置为0,则将其更改为其他值
或
您还可以将controlTabStop
属性设置为false
和属性的文档。如果希望在打开表单时按钮不具有焦点,则需要更正
选项卡索引
属性。TabIndex
属性有一个整数作为值,指定按下tab键时控件获得焦点的顺序。如果控件的TabIndex
设置为0,则将其更改为其他值
或
您还可以将controlTabStop
属性设置为false
和属性的文档。表单的名为
AcceptButtons的属性将其设置为(无)
表单的名为AcceptButtons的属性将其设置为(无)
面板控件源于ContainerControl。它为充当其他控件容器的控件提供了常见行为。其中包括永远不想成为焦点。如果你试着给他们焦点,他们会马上把焦点传递给一个子控件
这有一个很好的理由,用户需要能够看到哪个控件具有焦点。所以他知道键盘笔划的方向。而容器控件没有一种方式来显示它。他们也不会用按键做任何合理的事情。您当然可以修改面板控件,使其成为可聚焦控件,如图所示
但是,请关注一下为什么要让用户感到困难。也许你对聚焦矩形的“瑕疵”有点关注?如果你真的想隐藏它,那么你可以,这是非常简单的事情。只需添加一个虚拟按钮,并为其提供负位置属性和TabIndex 0。将其移出窗口,用户不再可见。但仍然能够集中注意力。解决了“缺陷”问题,但有可能会严重混淆用户。面板控件源自ContainerControl。它为充当其他控件容器的控件提供了常见行为。其中包括永远不想成为焦点。如果你试着给他们焦点,他们会马上把焦点传递给一个子控件
这有一个很好的理由,用户需要能够看到哪个控件具有焦点。所以他知道键盘笔划的方向。而容器控件没有一种方式来显示它。他们也不会用按键做任何合理的事情。您当然可以修改面板控件,使其成为可聚焦控件,如图所示
但是,请关注一下为什么要让用户感到困难。也许你对聚焦矩形的“瑕疵”有点关注?如果你真的想隐藏它,那么你可以,这是非常简单的事情。只需添加一个虚拟按钮,并为其提供负位置属性和TabIndex 0。将其移出窗口,用户不再可见。但仍然能够集中注意力。解决了“缺陷”问题,但有可能会让用户严重困惑。或许可以在加载时从按钮上移除焦点?您可以将设置为null
(AcceptButton=null;//或任何其他按钮,而不是panel.focus();
)。不,这不是重复的,因为我尝试了许多方法,但仍然。。。按钮已聚焦。在写这个问题之前,我使用TabIndex设置控件的顺序,但仍然。。。按钮已聚焦。可能会在加载时从按钮中移除焦点?您可以设置为null
(AcceptButton=null;//或任何其他按钮,而不是panel.focus();
)。不,它不是重复的,因为我尝试了许多方法,但仍然。。。按钮已聚焦。在写这个问题之前,我使用TabIndex设置控件的顺序,但仍然。。。按钮已聚焦。