CheckBox::ThreeState Property
Gets or sets a value indicating whether the CheckBox will allow three check states rather than two.
Assembly: System.Windows.Forms (in System.Windows.Forms.dll)
If 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.
The following code example displays the values of three properties in a label. The 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. This example shows how the property values change as the ThreeState property changes and the control is checked. 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. 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; } }
Available since 1.1