2016-12-07 8 views
0

私はwinformsアプリの魔法使いにtabcontrolがあり、各タブには一部のコードでradiobuttonsが動作していますが問題があります。 私がタブに行き、radiobuttonをチェックした後、別のタブに行き、もう一度radiobuttonをチェックすると、前のボタンが選択されたままになります。 別のタブのラジオボタンをチェックするたびに、他のタブの前のボタンのチェックを外す方法がありますか? 私が使用したコードは次のとおりです。ラジオボタンを別のタブでチェックしたままにする

  if (!radioButton1.Checked && !radioButton2.Checked && !radioButton3.Checked && !radioButton4.Checked) 
      { 
       MessageBox.Show("Please select an option!", "Warning"); 
       return; 
      } 
      else if (radioButton1.Checked) 
      { 
       build build = new build("@../Images/x1.jpg", "definition", "c1"); 
       build.ShowDialog(); 
} 
      else if (radioButton2.Checked) 
      { 
       build build = new build("@../Images/x2.jpg", "definition2","c2"); 
       build.ShowDialog(); 
      } 

等...事前に

おかげで、

答えて

0

私が正しくあなたの質問を理解していれば、あなただけの他のすべてのラジオボタンをオフにしたいですか?

radioButtonX.Checked = False; 
0

tabControlのイベントを見てみましょう。 tabPageX.Enterのイベントを作成し、ラジオボタン(radioButtonX.Checked = false)をクリアします。

本当に、これがスローアウェイのテストソフトウェアでない限り、Model View Presenterのような洗練されたアーキテクチャを検討することをおすすめします。 (その価値のために)。

+0

こんにちは、 ありがとうございます。私は追加しました: 'private void tabControl1_TabIndexChanged(オブジェクト送信者、EventArgs e) { radioButton9.Checked = false; } ' まだ動作していない、何か不足していますか? 申し訳ありませんが、私はあなたのことを思い出すことができます。# – septaug

+0

心配はいりません。私はあなたの問題を理解していると思っています。各tabIndexについて、(あなたの例では)tabPage1_Leave(別のタブに切り替えたときに呼び出される)を使用して、ラジオボタンのチェックを外すことができます。この方法では、スイッチを切り替えるときにボタンをチェックする必要はありません。それは理にかなっていますか? – cowboydan

関連する問題