C# 将控件添加到TabPage,仅添加第一个标签
正在尝试将控件添加到选项卡页,只添加了第一个标签,不确定是否存在问题,请检查C# 将控件添加到TabPage,仅添加第一个标签,c#,winforms,tabpage,C#,Winforms,Tabpage,正在尝试将控件添加到选项卡页,只添加了第一个标签,不确定是否存在问题,请检查 int X = 230; int Y = 10; ArrayList Lbls = new ArrayList(); Lbls.Add("Lbls_1"); Lbls.Add("Lbls_2"); Lbls.Add("Lbls_3"); Lbls.Add("Lbls_4"); Lbls.Add("Lbls_5"); foreach (object obj in Lbls) { Label LblsAdd =
int X = 230;
int Y = 10;
ArrayList Lbls = new ArrayList();
Lbls.Add("Lbls_1");
Lbls.Add("Lbls_2");
Lbls.Add("Lbls_3");
Lbls.Add("Lbls_4");
Lbls.Add("Lbls_5");
foreach (object obj in Lbls)
{
Label LblsAdd = new Label();
LblsAdd.AutoSize = true;
LblsAdd.Text = obj.ToString();
LblsAdd.Left = X + 50;
LblsAdd.Top = Y;
LblsAdd.Size = new System.Drawing.Size(30, 15);
MyTabPage.Controls.Add(LblsAdd);
}
如前所述,所有标签都位于同一位置,因为在每次迭代中,
X
仍然是230+50=280。
您需要增加此变量,以便下一个标签可以使用更新的结果:
foreach (object obj in Lbls)
{
Label LblsAdd = new Label();
LblsAdd.AutoSize = true;
LblsAdd.Text = obj.ToString();
X = X + 50; // write a new value into the variable X
LblsAdd.Left = X;
LblsAdd.Top = Y;
LblsAdd.Size = new System.Drawing.Size(30, 15);
MyTabPage.Controls.Add(LblsAdd);
}
标签位于同一位置。你应该把X改成loopAm,在左边加上“+50”,错了吗?错了。在该行上方,添加
X+=35代码>天哪!是啊,真是个愚蠢的错误。知道了。