我正在寻找一个看起来像C#中复选框网格的Windows窗体控件。我想这样的事情,希望它有意义。
那么我怎样才能实现这一目标,甚至可能呢?
答案 0 :(得分:4)
答案 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);