チェック付きリストボックスのチェックと、全選択用のチェックボックスのチェックを連動させる

Visual Studio C# コントロール
  1. 個別にチェックできる複数の項目を持つチェック付きリストボックス
  2. a.の全項目のチェック ON / OFF を一括で行うためのチェックボックス
    動作
  1. b にチェックを付けると、a の全てにチェックが付く
  2. b のチェックを外すと、a の全てのチェックが外れる
  3. a の全てのチェックが外れていると、b のチェックも外れる
  4. a の全てにチェックを付けると、b もチェックが付く
  5. a に 1 つ以上かつ全選択未満のチェックが付いていると、b は中間状態になる
  6. b を直接操作しても、b は中間状態にはならない