我有一个用c#编写的Windows窗体应用程序。我在面板中创建了复选框,文本框和按钮。当我在矩形监视器中运行它时遇到一些问题。
如果我使电脑字体大小正常(控制面板 - >外观和主题),则没有问题。文本框和按钮对齐位于右上角,可以正常工作。
但是,当我从控制面板文本框和按钮将计算机字体更改为更大时,向左移动。对齐不起作用。顺便说一下,我在运行时创建了所有内容。我使用这段代码:
tmin[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
gb[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
tmin和tmax是文本框的数组。 gb是按钮数组。我该怎么办?
修改
例如,tmax文本框数组的初始化是:
height = 1;
padding = 10;
for (int i = 3; i < ff.documentColumnCount; i++)
{
tmax[i] = new TextBox();
tmax[i].Name = max + (i - 2).ToString();
tmax[i].TabIndex = i;
tmax[i].Size = new System.Drawing.Size(65, 20);
tmax[i].Location = new System.Drawing.Point(326, 36 + i * 20);
tmax[i].TextChanged += new System.EventHandler(tmax17_TextChanged);
tmax[i].Bounds = new Rectangle(326, 20 + padding + height, 65, 22);
tmax[i].Anchor = AnchorStyles.Right | AnchorStyles.Top;
maxTextBoxes.Add(tmax[i]);
panel5.Controls.Add(tmax[i]);
height += 22;
}
答案 0 :(得分:1)
不要使用锚点。改为使用Dock属性,并根据需要设置Min size。
答案 1 :(得分:0)
不是将控件锚定到表单的右边缘(这是AnchorStyles.Right
的含义),而是将TextAlign
property设置为HorizontalAlignment.Right
,以便将文本设置为控制是右对齐的。