我目前正在创建动态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的中间,而是位于其上方。我该如何解决这个问题? 奇怪的是,它并没有发生我添加的每个复选框,有些看起来不错。
答案 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