上面的动态复选框文本复选框

时间:2015-04-06 19:33:55

标签: c# winforms checkbox

我目前正在创建动态checkBox并将它们放在这样的面板上:

  CheckBox chk = new CheckBox();
  chk.Text = new DirectoryInfo(folder).Name;
  chk.Location = new Point(10, i * 25);
  panelSubfolders.Controls.Add(chk);          
  i++;

但是在面板上,checkBox的文本并不直接位于checkBox的中间,而是位于其上方。我该如何解决这个问题? 奇怪的是,它并没有发生我添加的每个复选框,有些看起来不错。

2 个答案:

答案 0 :(得分:1)

尝试确保在为复选框分配文本之前设置了AutoSize属性。

CheckBox chk = new CheckBox();
chk.AutoSize = true;
chk.Text = new DirectoryInfo(folder).Name;
chk.Location = new Point(10, i * 25);
panelSubfolders.Controls.Add(chk);          
i++;

否则,您可能必须根据使用文本长度计算大小(以像素为单位)的计算来自行设置复选框的大小。

答案 1 :(得分:-1)

不是仅创建复选框,而是尝试创建带有空文本的dinamically复选框,并创建dinamically asp.net Label分配文本。

最后你可以玩css