• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Visual Basicで困っています)

Visual Basicのテキストボックスとコンボボックスの組み合わせによる簡略化の方法

このQ&Aのポイント
  • Visual Basic 2010を使用して、複数のテキストボックスとコンボボックスを設置し、コンボボックスの組み合わせによって対応するテキストボックスをクリアする方法を簡略化したいと思っています。
  • 現在のコードは複数の条件分岐で、コンボボックスの選択状態によって対応するテキストボックスをクリアしています。しかし、より効率的で簡潔な方法はないでしょうか?
  • 例えば、コンボボックス1が一番目の項目を選択し、コンボボックス2が一番目の項目を選択した場合は、テキストボックス1のテキストをクリアするようにしたいです。同様に、他の組み合わせによって対応するテキストボックスをクリアする方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

もう少し簡略化出来そうですよ 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 といった具合です ・・・

yamamoripoteto
質問者

お礼

ありがとうございます。 だいぶ簡略化することができました。

その他の回答 (1)

  • uma79
  • ベストアンサー率18% (189/1017)
回答No.2

第一条件が共通なら、その中に第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 構造化と言います。

関連するQ&A