Включить свойство ThreeState
.
Если для состояния "Indeterminate" вы предпочитаете иметь "X", вы можете нарисовать его самостоятельно (используя событие рисования элемента управления). Один пример:
private void checkBox1_Paint(object sender, PaintEventArgs e)
{
CheckBox s = (CheckBox)sender;
if (s.CheckState == CheckState.Indeterminate)
e.Graphics.DrawString("X", s.Font, Brushes.Black, new Point(1, 1));
}
Конечно, вы можете нарисовать несколько линий или что-то более графическое. Ура!