我有一个面板和 3 个这样的标签
----------
| Label1 |
| Label2 |
| Label3 |
----------
我希望面板的 33% 标记为 1、2 和 3,以便它们均匀分布。我是否应该只使用 TableLayoutPanel 来完成此操作,我使用 Panel 的原因是因为我需要每组 3 个标签在逻辑上以块的形式出现,并且我将拥有数千个标签。
到目前为止我用来完成此操作的代码如下
panel[0] = new Panel {
BackColor = Color.White,
Dock = DockStyle.Fill
};
label2[0] = new Label {
Text = "[label2]",
Dock = DockStyle.Fill,
AutoSize = false,
TextAlign = ContentAlignment.MiddleCenter
};
panel[0].Controls.Add(label2[0]);
label3[0] = new Label {
Text = "[label3]",
Dock = DockStyle.Bottom,
AutoSize = false,
TextAlign = ContentAlignment.BottomCenter
};
panel[0].Controls.Add(label3[0]);
label1[0] = new Label {
Text = "[label1]",
Dock = DockStyle.Top,
AutoSize = false,
TextAlign = ContentAlignment.TopCenter
};
panel[0].Controls.Add(label1[0]);
现在我当前的效果是 Label2 比 label1 和 3 略大。就我的目的而言,这种效果对我的目的来说有点好,但在较低的分辨率上,例如 1024*768 左右,标签 2 完全消失或变得太小,所以会发生相反的情况. 我不明白为什么会发生这种情况,也不明白如何使用标准面板均匀分布它们。我正在使用数千个,并且我已经在 TableLayoutPanel 中拥有了这些,所以我认为在 TableLayoutPanels 中制作一堆 TableLayoutPanel 并不是一个好主意,因为我认为这将是矫枉过正。在常规面板中平均分配 3 个标签的简单方法是什么?毕竟我有 TextAlign 中间底部顶部,为什么我不能用它们来完成我正在做的事情,因为它只有 3 个标签?