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

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

问题描述:

我目前正在创建动态复选框,并把它们在面板上是这样的:动态复选框上面的文字复选框

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

但是在面板上,复选框的文本是不能直接在复选框的中间而比它高一点。我该如何解决这个问题? 奇怪的是,它不会发生每一个我添加的复选框,有些看起来不错。

+0

我猜你添加它和标签被包装。可能是因为它旁边有另一个元素。 – Botonomous

+0

查看CheckBox.TextAlign属性! – TaW

+1

检查复选框的大小。 https://msdn.microsoft.com/en-us/library/microsoft.office.interop.word.checkbox.autosize%28v=office.15%29.aspx可能会有所帮助。 – Shar1er80

尝试确保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++; 

否则,您可能需要为自己设定基于关闭使用该文本的长度以像素为单位来计算的尺寸计算的复选框的大小。

而不是创建只有复选框尝试创建与空文本dinamically复选框,并创建dinamically asp.net标签分配文本。

在最后你可以用CSS