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

Dynamic checkBox text above checkbox

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

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

但是在面板上,复选框的文本不是直接在复选框的中间,而是在它的上方。我该如何解决? 奇怪的是,我添加的每个复选框都没有发生这种情况,有些看起来还不错。

与其仅创建复选框,不如尝试使用空文本动态创建复选框并动态创建 asp.net 标签分配文本。

最后你可以玩 css

尝试确保在为复选框指定文本之前设置了 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++;

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