This Control , derived from ButtonBase , represents a checkable option box. It can represent a two- or ThreeState checkbox. There are two accessors to get the checked state: Checked (a Boolean for a two-state box) and CheckState ( Checked , Unchecked , and Indeterminate for a three-state box). You can handle the CheckedChanged and CheckStateChanged events that are raised when these properties are modified. In addition, you can specify whether the box should AutoCheck when it is clicked (the alternative being to handle the Click event and set the state yourself), and whether the check should appear to the left or the right of the descriptive text (using the CheckAlign property). Compare this to RadioButton for the selection of one option from several. public class CheckBox : ButtonBase { // Public Constructors public CheckBox (); // Public Instance Properties public Appearance Appearance {set; get; } public bool AutoCheck {set; get; } public ContentAlignment CheckAlign {set; get; } public bool Checked {set; get; } public CheckState CheckState {set; get; } public override ContentAlignment TextAlign {set; get; } // overrides ButtonBase public bool ThreeState {set; get; } // Protected Instance Properties protected override CreateParams CreateParams {get; } // overrides ButtonBase protected override Size DefaultSize {get; } // overrides ButtonBase // Public Instance Methods public override string ToString (); // overrides System.ComponentModel.Component // Protected Instance Methods protected override AccessibleObject CreateAccessibilityInstance (); // overrides ButtonBase protected virtual void OnAppearanceChanged (EventArgs e ); protected virtual void OnCheckedChanged (EventArgs e ); protected virtual void OnCheckStateChanged (EventArgs e ); protected override void OnClick (EventArgs e ); // overrides Control protected override void OnHandleCreated (EventArgs e ); // overrides Control protected override void OnMouseUp (MouseEventArgs mevent ); // overrides ButtonBase protected override bool ProcessMnemonic (char charCode ); // overrides Control // Events public event EventHandler AppearanceChanged ; public event EventHandler CheckedChanged ; public event EventHandler CheckStateChanged ; } HierarchySystem.Object System.MarshalByRefObject System.ComponentModel.Component(System.ComponentModel.IComponen, System.IDisposable) Control(IOleContro, IOleObject , IOleInPlaceObject , IOleInPlaceActiveObject , IOleWindow , IViewObject , IViewObject2 , IPersist , IPersistStreamInit , IPersistPropertyBag , IPersistStorage , IQuickActivate , System.ComponentModel.ISynchronizeInvoke , IWin32Window) ButtonBase CheckBox |