如何使WinForms三状态复选框状态显示check/X/empty



我正在编写一个应用程序来取代一些基于纸张的测试表格。这些表单具有复选框,测试人员根据测试结果用检查或X标记这些复选框。如何从winforms复选框中获得这种视觉效果呢?

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

你当然可以画一些线或一些更图形化的东西。干杯!

最新更新