如何创建只有复选框的表?

时间:2014-06-29 06:17:30

标签: c# winforms

我正在寻找一个看起来像C#中复选框网格的Windows窗体控件。我想这样的事情,希望它有意义。

enter image description here

那么我怎样才能实现这一目标,甚至可能呢?

3 个答案:

答案 0 :(得分:4)

您可以使用TableLayoutPanel,此link可以帮助您了解其中的一些属性,此link是使用它的示例

答案 1 :(得分:1)

使用这么多复选框,强烈避免TableLayoutPanel 太多过于昂贵。

DataGridView是合适的选择,将列类型更改为DataGridViewCheckBoxColumn。编辑只需要一个真正的复选框控件,自动处理。没有焦点问题。

制作自己的方法也是一种非常合理的方法,你可以任意想象它。如果需要可滚动,请从Control,Panel派生一个类。 ControlPaint.DrawCheckBox()可能很有用。

答案 2 :(得分:0)

使用TableLayoutPanel呈现复选框。

此示例按代码创建TableLayoutPanel

TableLayoutPanel tableLayoutPanel = new TableLayoutPanel();

int rowCount = 2;
int columnCount = 2;

for (int row = 0; row < rowCount; row++)
{
    tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.AutoSize));

    for (int column = 0; column < columnCount; column++)
    {
        tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.AutoSize));

        CheckBox checkBox = new CheckBox();

        tableLayoutPanel.Controls.Add(checkBox, column, row);
    }
}

this.Controls.Add(tableLayoutPanel);