Как сделать так, чтобы в окне состояния трех состояний WinForms отображался флажок / X / пустым? - PullRequest
2 голосов
/ 13 декабря 2011

Я пишу приложение, чтобы заменить некоторые бумажные формы тестирования.Эти формы имеют флажки, которые тестер помечает либо галочкой, либо X в зависимости от результата теста.Как бы я получил это визуальное ощущение от флажка winforms?

1 Ответ

8 голосов
/ 13 декабря 2011

Включить свойство 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));
}

Конечно, вы можете нарисовать несколько линий или что-то более графическое. Ура!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...