C# 复选框上方的动态复选框文本
我目前正在创建动态复选框,并将它们放在如下面板上:C# 复选框上方的动态复选框文本,c#,winforms,checkbox,C#,Winforms,Checkbox,我目前正在创建动态复选框,并将它们放在如下面板上: CheckBox chk = new CheckBox(); chk.Text = new DirectoryInfo(folder).Name; chk.Location = new Point(10, i * 25); panelSubfolders.Controls.Add(chk); i++; 但是在面板上,复选框的文本不是直接在复选框的中间,而是在其上方。我怎样才能解决这个问题? 奇怪的是,我
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++;
否则,您可能需要根据使用文本长度计算大小(以像素为单位)的计算结果自行设置复选框的大小。我猜您正在添加复选框,标签正在包装。可能是因为它位于另一个元素旁边。请查看CheckBox.TextAlign属性!检查复选框的大小。也许会有帮助。