0

私のチェックリストボックスには、インデックスに変換する必要がある200個のものがあります。このインデックスは、2つの形式で機能する必要があります。したがって、モジュラーで変数を処理することは論理的なアクションになります。ただし、モジュラーにはチェックリストボックスが存在しないため、エラーが発生します。私が達成しようとしているのは、選択したテキストボックスの色を変化させることです。

Select Case Row
                Case 0
                    TxtA1.BackColor = Color.Red
                Case 1
                    TxtA2.BackColor = Color.Red
                Case 2
                    TxtA3.BackColor = Color.Red
                Case 3
                    TxtA4.BackColor = Color.Red
                Case 4
                    TxtA5.BackColor = Color.Red
               ...
               case 200
                    TxtB67.BackColor = Color.Red
                  end select 
4

1 に答える 1

1

1.)モジュールでは、すべてのフォームとそのパブリックメンバーにアクセスできます(例:Form1.CheckedListBox1。またはForm1.Controls("CheckedListBox1")
2.)プログラマーが201のケースで単調で反復的な作業を行う場合、何かが間違っています。チェックされたインデックスをそれらのラベルにマッピングする別の方法を考える必要があります。名前自体またはTagプロパティを使用して、それらを反復処理できます(Form1.Controls("txtColored_" & i.ToString)ループ内など)(ただし、設計の詳細によっては、さらに優れたソリューションがあります)。3.)ラベルが選択されていない
場合は、ラベルの色をリセットすることをお勧めします。この場合、201のケースのそれぞれで、すべてのラベルの色を設定する必要があります。

于 2013-01-19T15:39:17.973 に答える