我有一个按钮,可以动态地为表单添加24个标签。问题是他们的位置。
我发现不是为每个人手动设置一个特定的位置,而是像FlowLayoutPanel一样自动安排它们。但FLP将位于顶部并隐藏其下的控制权。送回去更糟糕。所以我想把它带到前面但保持透明,这样它就不会隐藏它下面的其他控件。
任何建议都会很棒
感谢。
答案 0 :(得分:1)
我可以像FlowLayoutPanel一样自动安排它们。 但是我不能使用它,因为它会在顶部隐藏图像 我的照片。
嗯,您可以使用具有透明背景的FlowLayoutPanel
,这样它就不会隐藏您拥有的其他控件。怎么做?好吧,this answer向您展示了如何制作透明的Panel
。你应该可以轻松地调整它以使用FlowLayoutPanel
使用类似的东西:
Public Class TransparentFLP
Inherits FlowLayoutPanel
Protected Overrides ReadOnly Property CreateParams() As System.Windows.Forms.CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or &H20 ''#WS_EX_TRANSPARENT
Return cp
End Get
End Property
Protected Overrides Sub OnPaintBackground(ByVal e As System.Windows.Forms.PaintEventArgs)
''#MyBase.OnPaintBackground(e) --> Don't uncomment this orelse
'it will cause the BackColor to be redrawn.
End Sub
End Class
Class
。FlowLayoutPanel
)。 P.S。我不确定您使用的是4个面板,但您可能会考虑使用TableLayoutPanel
代替。
希望有所帮助:)