- ベストアンサー
Visual Basicのテキストボックスとコンボボックスの組み合わせによる簡略化の方法
- Visual Basic 2010を使用して、複数のテキストボックスとコンボボックスを設置し、コンボボックスの組み合わせによって対応するテキストボックスをクリアする方法を簡略化したいと思っています。
- 現在のコードは複数の条件分岐で、コンボボックスの選択状態によって対応するテキストボックスをクリアしています。しかし、より効率的で簡潔な方法はないでしょうか?
- 例えば、コンボボックス1が一番目の項目を選択し、コンボボックス2が一番目の項目を選択した場合は、テキストボックス1のテキストをクリアするようにしたいです。同様に、他の組み合わせによって対応するテキストボックスをクリアする方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もう少し簡略化出来そうですよ ComboBox1はSelectedIndexが0かそれ以外かで処理を振り分ける ComBoBox2はSelectedIndexで どのTextBoxを選択するのかを決める ということであれば dim TargetTextBox as TextBox If ComboBox1.SelectedIndex = 0 then ' ComboBox1の選択が最初の行なら select case ComboBox2.selectedIndex case 1 TargetTextBox = TextBox1 case 2 TargetTextBox = TextBox2 case 3 TargetTextBox = TextBox3 case 4 TargetTextBox = TextBox4 end select if Not TarextBox Is Nothing then ' 選択が 2行目から5行目の選択なら ' 該当するTextBoxをクリアする TargetTextBox.Clear end if End if といった具合です ・・・
その他の回答 (1)
- uma79
- ベストアンサー率18% (189/1017)
第一条件が共通なら、その中に第2条件を入れるほうが、見やすい。 If ComboBox1.SelectedIndex = 0 Then If ComboBox2.SelectedIndex = 1 Then TextBox1.Clear() If ComboBox2.SelectedIndex = 2 Then TextBox2.Clear() If ComboBox2.SelectedIndex = 3 Then TextBox3.Clear() If ComboBox2.SelectedIndex = 4 Then TextBox4.Clear() End if 構造化と言います。
お礼
ありがとうございます。 だいぶ簡略化することができました。