1)チェックボックスの使い方を知る
   チェックボックス 「 」は、同時に複数の選択が可能なコントロールである。
   フォームに以下のようにコントロールを配置しなさい。(プロジェクト名:CheckBox1)
   
    オブジェクト名:①CheckBox1   ②CheckBox2   ③CheckBox3
             ④CheckBox4  ⑤CheckBox5  ⑥Button1

   ① プログラムでチェックボックスの初期値を設定する。
     フォームをダブルクリックしてForm_Loadメソッドに以下のプログラムを書いて実行してみる。
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     CheckBox1.CheckState = CheckState.Indeterminate
     CheckBox2.CheckState = CheckState.Indeterminate
     CheckBox3.CheckState = CheckState.Checked
     CheckBox4.CheckState = CheckState.Unchecked
     CheckBox5.CheckState = CheckState.Indeterminate
    End Sub

     チェックボックスオブジェクト.CheckStateプロパティは、チェックボックスの初期値を決定するプロパティで、
    値は以下のものがある。
     CheckState.Indeterminate・・・チェック済みでハイライト状態にする。
     CheckState.Unchecked・・・チェックされていない状態。(デフォルト値)
     CheckState.Checked・・・チェック済みにする。


   ②チェックボックスのチェック状態を取得する。
     アンケート結果ボタン(Button1)をダブルリックしてButton_Clickメソッドに以下のプログラムを書いて実行してみる。
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     If CheckBox1.CheckState = CheckState.Indeterminate Then Debug.WriteLine("チェックに影が付いています。")
     If CheckBox2.CheckState = CheckState.Indeterminate Then Debug.WriteLine("チェックに影が付いています。")
     If CheckBox3.CheckState = CheckState.Checked Then Debug.WriteLine("チェックされています。")
     If CheckBox4.CheckState = CheckState.Unchecked Then Debug.WriteLine("チェックされていません。")
     If CheckBox5.CheckState = CheckState.Indeterminate Then Debug.WriteLine("チェックに影が付いています。")
    End Sub

      Debug.WriteLine()は、デバックラインの出力に書き出すデバッグ用のメソッドです。
     通常のプログラミングでは使いません。


   ③チェックされている項目のテキストを取得する。
     アンケート結果ボタン(Button1)をダブルリックしてButton_Clickメソッドに以下のプログラム変更して実行してみる。
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     If CheckBox1.CheckState = CheckState.Checked Then Debug.WriteLine(CheckBox1.Text)
     If CheckBox2.CheckState = CheckState.Checked Then Debug.WriteLine(CheckBox2.Text)
     If CheckBox3.CheckState = CheckState.Checked Then Debug.WriteLine(CheckBox3.Text)
     If CheckBox4.CheckState = CheckState.Checked Then Debug.WriteLine(CheckBox4.Text)
     If CheckBox5.CheckState = CheckState.Checked Then Debug.WriteLine(CheckBox5.Text)
    End Sub

     以下のプログラムでもチェック状態を調べることができます。
     プログラムを変更してみましょう。
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
      If CheckBox1.Checked = True Then Debug.WriteLine(CheckBox1.Text)
      If CheckBox2.Checked = True Then Debug.WriteLine(CheckBox2.Text)
      If CheckBox3.Checked = True Then Debug.WriteLine(CheckBox3.Text)
      If CheckBox4.Checked = True Then Debug.WriteLine(CheckBox4.Text)
      If CheckBox5.Checked = True Then Debug.WriteLine(CheckBox5.Text)
     End Sub

      チェックボックスオブジェクト.Checkedプロパティは、チェックボックスがチェックされていれば「True」、
     チェックされていなければ、「False」になる。ただし、CheckState.Indeterminateが
     チェックボックスオブジェクト.CheckState設定されているとチェック済みになる。

   ③フォームのプログラムを消して実際に選択項目だけが出力されるか試してみる。
     フォームをダブルクリックしてForm_Loadメソッドに以下のプログラムを削除して実行してみる。
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
     CheckBox1.CheckState = CheckState.Indeterminate
     CheckBox2.CheckState = CheckState.Indeterminate
     CheckBox3.CheckState = CheckState.Checked
     CheckBox4.CheckState = CheckState.Unchecked
     CheckBox5.CheckState = CheckState.Indeterminate
    End Sub

   ④チェックボックスを連動して切り替える。
     フォームに以下のようにコントロールを配置しなさい。(プロジェクト名:CheckBox2)
     
      オブジェクト名:①CheckBox1  ②CheckBox2  ③CheckBox3
               ④CheckBox4  ⑤CheckBox5  ⑥CheckBox6

      フォームをダブルクリックして、Form_Loadメソッドに以下のプログラムを入力する。
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
      CheckBox2.Enabled = False
      CheckBox3.Enabled = False
     End Sub

      チェックボックスオブジェクト.Enabledプロパティは、チェックボックスを有効にするか無効にするかの設定である。
      Trueを代入すると有効になる。(デフォルト値)
     Falseを代入すると無効になる。

      フォーム上のCheckBox1オブジェクトをダブルクリックしてCheckBox1_CheckedChangedメソッドに
     以下のプログラムを入力して、実行しなさい。
      Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
       CheckBox2.Enabled = CheckBox1.Checked
       CheckBox3.Enabled = CheckBox1.Checked
      End Sub

       チェックボックスオブジェクト.Checkedプロパティは、チェックボックスがチェックされていれば、「True」に、
      チェックされていなければ、「False」になります。
       この場合、CheckBox1がチェックされたらCheckBox1.Checkedが「True」になって、その値が、
      CheckBox2.Enabled 、CheckBox3.Enabledに代入されるため、CheckBox2、CheckBox3のオブジェクトが、
      使えるようになります。


      Checkbox4~CheckBox6もCheckBox1~CheckBox3までと同じになるようにしなさい。

   ⑤以下のフォームを作成して、アンケート結果ボタン(Button1)をクリックすると以下のように、Label2に、
    表示するようにしなさい。(プロジェクト名:CheckBox3)
    <表示例>VB.NETは、難しいが、楽しい。
     
      オブジェクト名:①Label1 ②CheckBox1  ③CheckBox2  ④CheckBox3
               ⑤CheckBox4  ⑥CheckBox5  ⑦CheckBox6
               ⑧Label2 ⑨Button1              

<課題>
  ⑤のプログラムでは、チェックボックスに複数のチェックが入るとおかしくなります。
 そうならないように、ひとつチェックが入るとチェックできなくなるようにしなさい。  <ヒント>
   たとえば、□難しいにチェックが入った場合は、ほかはチェックできないようにすればいいので、
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
     If CheckBox1.Checked=False Then 'CheckBox1のチェックがされていなければこの下を実行する。
      CheckBox2.Enabled = True 'CheckBox2のチェックを使用できるようにする。
      CheckBox3.Enabled = True 'CheckBox3のチェックを使用できるようにする。
     Else 'CheckBox1のチェックがされていればこの下を実行
      CheckBox2.Enabled = False 'CheckBox2のチェックを使用できないようにする。
      CheckBox3.Enabled = False 'CheckBox3のチェックを使用できないようにする。
     End If
    End Sub
さーやってみよう・・・・・

<答えなのだー(~~);>

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim a, b As String
        If CheckBox1.Checked = False And CheckBox2.Checked = False And CheckBox3.Checked = False And CheckBox4.Checked = False And CheckBox5.Checked = False And CheckBox6.Checked = False Then
            Label2.Text = "1行目、2行目は、それぞれ必ずひとつは選択してください。"
        ElseIf CheckBox1.Checked = False And CheckBox2.Checked = False And CheckBox3.Checked = False Then
            Label2.Text = "1行目は、必ずひとつは選択してください。"
        ElseIf CheckBox4.Checked = False And CheckBox5.Checked = False And CheckBox6.Checked = False Then
            Label2.Text = "2行目は、必ずひとつは選択してください。"
        Else
            If CheckBox1.Checked = True Then a = CheckBox1.Text
            If CheckBox2.Checked = True Then a = CheckBox2.Text
            If CheckBox3.Checked = True Then a = CheckBox3.Text
            If CheckBox4.Checked = True Then b = CheckBox4.Text
            If CheckBox5.Checked = True Then b = CheckBox5.Text
            If CheckBox6.Checked = True Then b = CheckBox6.Text
            Label2.Text = Label1.Text & a & "だが" & b & "です。"
        End If
    End Sub

    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = False Then
            CheckBox2.Enabled = True
            CheckBox3.Enabled = True
        Else
            CheckBox2.Enabled = False
            CheckBox3.Enabled = False
        End If
    End Sub

    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
        If CheckBox2.Checked = False Then
            CheckBox1.Enabled = True
            CheckBox3.Enabled = True
        Else
            CheckBox1.Enabled = False
            CheckBox3.Enabled = False
        End If
    End Sub

    Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged
        If CheckBox3.Checked = False Then
            CheckBox1.Enabled = True
            CheckBox2.Enabled = True
        Else
            CheckBox1.Enabled = False
            CheckBox2.Enabled = False
        End If
    End Sub

    Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged
        If CheckBox4.Checked = False Then
            CheckBox5.Enabled = True
            CheckBox6.Enabled = True
        Else
            CheckBox5.Enabled = False
            CheckBox6.Enabled = False
        End If
    End Sub

    Private Sub CheckBox5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox5.CheckedChanged
        If CheckBox5.Checked = False Then
            CheckBox4.Enabled = True
            CheckBox6.Enabled = True
        Else
            CheckBox4.Enabled = False
            CheckBox6.Enabled = False
        End If
    End Sub

    Private Sub CheckBox6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox6.CheckedChanged
        If CheckBox6.Checked = False Then
            CheckBox4.Enabled = True
            CheckBox5.Enabled = True
        Else
            CheckBox4.Enabled = False
            CheckBox5.Enabled = False
        End If
    End Sub