如何使WinForms三态复选框状态显示检查/ X /空?

时间:2011-12-12 22:25:51

标签: c# winforms

我正在编写一个应用程序来替换一些基于纸张的测试表单。这些表单具有复选框,测试人员根据测试结果用支票或X标记。我如何从winforms复选框中获得这种视觉感受?

1 个答案:

答案 0 :(得分:8)

启用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));
}

你当然可以绘制一些线条或更具图形性的东西。干杯!