【问题标题】:Issue with tableLayoutPanel and datatable-bound CheckBoxes?tableLayoutPanel 和数据表绑定的复选框有问题吗?
【发布时间】:2016-06-12 17:45:21
【问题描述】:

我有一个Windows Form,它在tableLayoutPanel 中显示checkboxes 的列表。

复选框正在显示,但它们之间的间距很奇怪。 tableLayoutPanelMsgs.ColumnCount 设置为 1。

这是我的代码:

DataTable messagesTable = ds.Tables[0];

foreach (DataRow row in messagesTable.Rows)
{
    CheckBox ck = new CheckBox();
    ck.Text = row[1].ToString();
    tableLayoutPanel1.Controls.Add(ck);
}

这就是复选框在 Windows 窗体中的外观。注意每个复选框之间的间距。

我该如何解决这个问题?再次感谢。

【问题讨论】:

    标签: c# winforms visual-studio-2010 windows-forms-designer


    【解决方案1】:

    您需要设置RowStyle

    查看附件截图设置Properties

    必须至少有一行,并且您需要设置它的样式。其余行将自动添加,默认样式为AutoSize

    【讨论】:

      【解决方案2】:

      为每个添加的复选框调用SetRow,以将其放置在tableLayoutPanel1内的单独行中:

      DataTable messagesTable = ds.Tables[0];
      int I = 0;
      
      tableLayoutPanel1.RowCount = messagesTable.Rows.Count;
      
      foreach (DataRow row in messagesTable.Rows)
      {
          CheckBox ck = new CheckBox();
          ck.Text = row[1].ToString();
          tableLayoutPanel1.Controls.Add(ck);
          tableLayoutPanel1.SetRow(ck, i++);
      }
      

      【讨论】:

        猜你喜欢
        • 2011-02-09
        • 1970-01-01
        • 1970-01-01
        • 2012-05-10
        • 1970-01-01
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多