我有一個帶有GroupBox的winform,我想在運行時動態創建標籤。我爲label.Name
和label.Text
使用了Dictionary<string, string>
。也許有更好的方式去做,我願意。我確實得到第一個label
寫出正確,但不是其他的。建議?從字典中創建標籤
這裏是我的字典:
public static Dictionary<string, string> LabelTexts = new Dictionary<string, string>()
{
{"lblInstructions1", "Instructions 1." },
{"lblInstructions2", "Instructions 2." },
{"lblInstructions3", "Instructions 3." },
{"lblInstructions4", "Instructions 4." },
{"lblInstructions5", "Instructions 5." },
{"lblInstructions6", "Instructions 6." },
{"lblInstructions7", "Instructions 7." },
};
這裏是我使用的方法:
private void CreateLabelsForTesting(GroupBox grpBoxInstructions)
{
foreach (KeyValuePair<string, string> labels in LabelTexts)
{
Label l = new Label();
l.Name = labels.Key;
l.Text = labels.Value;
l.Size = new Size(130, 12);
l.Location = new Point(0, l.Bottom + 5);
grpBoxInstructions.Controls.Add(l);
}
}
乍一看,很明顯你把所有的標籤在同一地點... – Pikoh
看起來你把所有的標籤相同的位置,以便他們坐在彼此的頂部。放置一個變量來保存最後一個標籤的最後一個頂部位置,以便每次都可以遞增。 – Equalsk
您正在將所有標籤放在同一位置:'(0,5)'。您可以使用「TableLayoutPanel」或「FlowLayoutPanel」來佈置標籤。你的要求是什麼? –