0

フォームの 10 個を超えるラジオ ボタンで "For" ステートメントを使用すると問題が発生します。

1 つのラジオ ボタンのサンプル:

If Form2.RadioButton1.Checked = True Then
Form2.RadioButton1.ForeColor = Color.Red
Else
Form2.RadioButton1.ForeColor = Color.Yellow
End If

しかし、フォームの任意のラジオボタンでこれを使用したい場合は、次のようなものを使用します。

   Dim i As Integer
    For i = 1 To 10
        If Form2.RadioButton(i).Checked = True Then
            Form2.RadioButton(i).ForeColor = Color.Red
        Else
            Form2.RadioButton(i).ForeColor = Color.Yellow
        End If
    Next
4

1 に答える 1

0

.net には制御配列がありません。フォームの .controls コレクションを反復処理し、コントロール タイプをチェックします。

For Each tControl as Control in Me.Controls
  If tControl.GetType Is GetType(RadioButton)
    If DirectCast(tControl, RadioButton).Checked
      ' Change the control's color.
    Else
      ' Change the control's color.
    End If
  End If
Next
于 2013-01-22T04:49:01.440 に答える