我有一个简单的Windows窗体应用程序tabControl.我有3个面板tabControl,每个面板有5个按钮.第一组按钮上的文本是硬编码的,但是当您从第一组中单击一个按钮时,下一组将填充,然后当您单击第二组中的一个按钮时,最后一组会再次发生相同的事情.在[Design]视图中,我手动设置TextAlign每个按钮的属性MiddleCenter.但是,当我运行应用程序时,中间按钮组上的文本永远不会居中.它始终是TopLeft对齐的.TextAlign每次我以编程方式设置按钮文本时,我都尝试更改字体大小甚至显式设置属性,如下所示:
private void setButtons(List<string> labels, Button[] buttons)
{
for (int i = 0; i < buttons.Count(); i++)
{
if (i < labels.Count)
{
buttons[i].Text = labels.ElementAt(i);
buttons[i].TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
buttons[i].Enabled = true;
}
else
{
buttons[i].Text = "";
buttons[i].Enabled = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
此图像显示结果:

有没有人对我遗失的东西有任何想法?
修剪您分配给按钮的文本。您也可以通过索引引用标签,而无需调用ElementAt
private void setButtons(List<string> labels, Button[] buttons)
{
for (int i = 0; i < buttons.Count(); i++)
{
Button button = buttons[i];
if (i < labels.Count)
{
button.Text = labels[i].Trim(); // trim text here
// button.TextAlign = ContentAlignment.MiddleCenter;
button.Enabled = true;
}
else
{
button.Text = "";
button.Enabled = false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4628 次 |
| 最近记录: |