私は3つのグループボックス、1つはコンボボックス、2つはラジオボタンを備えたWinFormを持っています。それらすべてとその子コントロールを「TabStop=false」に設定しましたが、TABで循環すると、最後の2つのグループボックスのそれぞれで現在選択されているラジオボタンがフォーカスされます。
この動作を変更する方法がない場合、フォーカスをキャッチして遠ざけるための良いイベントは何でしょうか?「OnFocus」イベントが見つかりません。
解決策は、フォーム内のすべてのラジオボタンの「Enter」イベントを処理する1つのメソッド(以下のコード)を設定することです(それが必要な場合)。
実際、私は最初のグループボックスのラジオボタンに対してのみそれを行い、それは機能しました。2番目のグループボックスのラジオボタンは、「Enter」イベントが処理されなくてもフォーカスされません。これは、期待した動作ではありません。
private void radiobuttonXGroup1_Enter(object sender, EventArgs e)
{
SomeOtherControl.Focus();
}
* .Designer.csファイルで、すべてのEnterイベント(各ラジオボタン)を編集して、1つのイベントハンドラー(上記のメソッド)を指すようにします。
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);