我有一个TableLayoutPanel
包含5行和5列可变大小(一个3x3网格与两边的填充单元格)。在每个内部单元中,我将PictureBox
与Dock
参数集设置在Fill
上。我现在想添加一个覆盖整个9个单元的Label
。由于Label
是透明的,并不总是可见的,所以应该没有问题。WinForms - 在TableLayoutPanel中重叠两个控件
但是,当我尝试在TableLayoutPanel
中移动Label
时,它所做的只是“压缩”底部或右侧的PictureBoxes
。
下面是一个/前设置后的图片:
我试图修改RowSpan
和ColumnSpan
属性的标签,但无济于事。截至目前,PictureBoxes
的Dock
属性设置为Fill
,Label
也是如此。将其设置为None
仅使其更小,但将PictureBoxes
堆叠在底部。
我也尝试修改TabIndexes
,但没有这个运气。
我怎样才能达到我想要的?
你不能把一个以上控制到TableLayoutPanel'的'细胞。你可以将'Label'和'TableLayoutPanel'放入同一个容器(例如'Panel')。另外,你必须在'TableLayoutPanel'子尺寸上创建'Label'大小(如果我正确理解了布局)。为此,您可以手动处理该子女的“已调整大小”事件。 – Sinatr
将“PictureBox”设置为“Label”父级。即'pictureBox.Controls.Add(标签)'。 –
将'Label'和'TableLayoutPanel'放入同一个'Panel'中修复它,谢谢!你可能想发布它,以便我可以接受你的答案。 – pie3636