CheckBox.ThreeState プロパティ

定義

CheckBox で 2 つではなく 3 つのチェックの状態が表示できるかどうかを示す値を取得または設定します。Gets or sets a value indicating whether the CheckBox will allow three check states rather than two.

public:
 property bool ThreeState { bool get(); void set(bool value); };
public bool ThreeState { get; set; }
member this.ThreeState : bool with get, set
Public Property ThreeState As Boolean

プロパティ値

CheckBox が 3 つのチェックの状態を表示できる場合は true。それ以外の場合は falsetrue if the CheckBox is able to display three check states; otherwise, false. 既定値は false です。The default value is false.

次のコード例では、ラベルの3つのプロパティの値を表示します。The following code example displays the values of three properties in a label. プロパティThreeStateは、とtrue MiddleRight MiddleLeft System.Drawing.ContentAlignmentの間で、コントロールCheckAlignを交互にクリックし、との値との値を交互に交互に切り替えます。 falseThe ThreeState property alternates between true and false with alternating clicks of the control and the CheckAlign alternates between the MiddleRight and MiddleLeft values of System.Drawing.ContentAlignment. この例では、プロパティがThreeState変更され、コントロールがチェックされると、プロパティ値がどのように変化するかを示します。This example shows how the property values change as the ThreeState property changes and the control is checked. このCheckBoxコードでは、、 Label 、およびButtonがすべてフォーム上でインスタンス化されていること、およびラベルが3行のテキストSystem.Drawingを表示するのに十分な大きさであること、および名前空間への参照が必要であることが必要です。This code requires that a CheckBox, Label and Button have all been instantiated on a form and that the label is large enough to display three lines of text, as well as a reference to the System.Drawing namespace. このコードは、コントロールのClickイベントハンドラーで呼び出す必要があります。This code should be called in the Click event handler of the control.

private:
   void AdjustMyCheckBoxProperties()
   {
      // Concatenate the property values together on three lines.
      label1->Text = String::Format( "ThreeState: {0}\nChecked: {1}\nCheckState: {2}",
         checkBox1->ThreeState, checkBox1->Checked, checkBox1->CheckState );
      
      // Change the ThreeState and CheckAlign properties on every other click.
      if ( !checkBox1->ThreeState )
      {
         checkBox1->ThreeState = true;
         checkBox1->CheckAlign = ContentAlignment::MiddleRight;
      }
      else
      {
         checkBox1->ThreeState = false;
         checkBox1->CheckAlign = ContentAlignment::MiddleLeft;
      }
   }
private void AdjustMyCheckBoxProperties()
 {
    // Change the ThreeState and CheckAlign properties on every other click.
    if (!checkBox1.ThreeState)
    {
       checkBox1.ThreeState = true;
       checkBox1.CheckAlign = ContentAlignment.MiddleRight;
    }
    else
    {
       checkBox1.ThreeState = false;
       checkBox1.CheckAlign = ContentAlignment.MiddleLeft;
    }

    // Concatenate the property values together on three lines.
    label1.Text = "ThreeState: " + checkBox1.ThreeState.ToString() + "\n" +
                  "Checked: " + checkBox1.Checked.ToString() + "\n" +
                  "CheckState: " + checkBox1.CheckState.ToString(); 
 }
 
Private Sub AdjustMyCheckBoxProperties()

    ' Change the ThreeState and CheckAlign properties on every other click.
    If Not checkBox1.ThreeState Then
        checkBox1.ThreeState = True
        checkBox1.CheckAlign = ContentAlignment.MiddleRight
    Else
        checkBox1.ThreeState = False
        checkBox1.CheckAlign = ContentAlignment.MiddleLeft
    End If

    ' Concatenate the property values together on three lines.
    label1.Text = "ThreeState: " & checkBox1.ThreeState.ToString() & ControlChars.Cr & _
        "Checked: " & checkBox1.Checked.ToString() & ControlChars.Cr & _
        "CheckState: " & checkBox1.CheckState.ToString()

End Sub

注釈

false CheckState Indeterminateプロパティがに設定されている場合、プロパティ値は、ユーザーの操作でSystem.Windows.Forms.CheckStateはなく、コード内のの値にのみ設定できます。 ThreeStateIf the ThreeState property is set to false, the CheckState property value can only be set to the Indeterminate value of System.Windows.Forms.CheckState in code and not by user interaction.

適用対象