我有一个带有 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);