我一直在努力研究如何将重叠的面板向前或向后移动,但没有成功我认为以下代码可以工作,但它没有任何明显的效果。
Private Sub Panel2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Panel2.Click
Me.BringToFront()
End Sub
也试过
Private Sub Panel3_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Panel3.Click
Me.Activate()
End Sub
和
Private Sub Panel3_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Panel3.Click
Me.TopMost = True
End Sub
也失败了吗?
答案 0 :(得分:0)
在您的实际情况中,我认为Me
指的是表单。而是使用Me
,尝试将代码更改为您要更改的特定面板:
Panel1.BringToFront()
如果您愿意,也可以使用事件的sender
变量来选择面板:
Private Sub Panel3_click(ByVal sender As Object, ByVal e As EventArgs) _
Handles Panel1.Click, Panel2.Click, Panel3.Click
Dim auxPanel As Panel = CType(sender, Panel)
auxPanel.BringToFront()
End Sub
顺便说一句,重新排列控件以使它们重叠的正确方法是.BringToFront()
和.SendToBack()
。 .TopMost
和.Activate
有不同的用途。有关它的信息,请参阅MSDN文档以了解它们各自的功能。