gpt4 book ai didi

c# - WinForm - TabStop 不工作

转载 作者:行者123 更新时间:2023-11-30 13:42:16 24 4
gpt4 key购买 nike

我有一个带有 3 个组框的 WinForm,一个带有组合框,两个带有单选按钮。我将所有这些控件及其子控件设置为“TabStop = false”,但是当我使用 TAB 循环时,最后两个组框中当前选中的单选按钮将获得焦点。

如果没有办法改变这种行为,那么捕捉和转移焦点的好事件是什么?我找不到“OnFocus”事件。


解决方案是设置一种方法(下面的代码)来处理表单中每个单选按钮的“Enter”事件(如果这是您希望的)。

实际上,我只为第一个组框的单选按钮做了这件事并且它起作用了,第二个组框的单选按钮没有获得焦点,即使它们的“Enter”事件没有被处理。这不是您所期望的行为。

private void radiobuttonXGroup1_Enter(object sender, EventArgs e)
{
SomeOtherControl.Focus();
}

在 *.Designer.cs 文件中,您编辑每个 Enter 事件(针对每个单选按钮)以指向一个事件处理程序(上述方法)。

this.radiobutton1Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);
this.radiobutton2Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);
this.radiobutton3Group1.Enter += new System.EventHandler(this.radiobuttonXGroup1_Enter);

最佳答案

在 RadioButton 上将 TabStop 设置为 False 以防止跳转到控件,直到您实际选择单选按钮而不像@msergeant 建议的那样进行任何其他覆盖。

编辑

以下代码阻止代码获取tab键事件:

private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
radioButton1.TabStop = false;
}

单选按钮相对于 Tab 与其他控件的行为不同,因为它们基于设置选项卡索引或将单选按钮放置在组框中以集合或组的形式工作。

关于c# - WinForm - TabStop 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com