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

Dax*_*ohl 2 c# winforms

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

JYe*_*ton 8

启用该ThreeState属性.

如果对于"Indeterminate"状态,你宁愿拥有一个"X",你可以自己绘制它(使用控件的paint事件).一个例子:

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));
}
Run Code Online (Sandbox Code Playgroud)

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