【发布时间】:2014-04-20 04:15:16
【问题描述】:
我将使用哪些事件来处理隐藏此面板内的按钮/组件?这是一个滑动面板,当用户将鼠标悬停在上面时,它会展开,当鼠标退出时,它会折叠。
问题是我不知道如何让组件在展开之前不显示。
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Panel1.Dock = DockStyle.Left
Timer3.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If Panel1.Width < 150 Then
Panel1.Width = Panel1.Width + 100
ElseIf Panel1.Width = 150 Then
Timer1.Enabled = False
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
If Panel1.Width >= 100 Then
Panel1.Width = Panel1.Width - 50
If Panel1.Width < 100 And Panel1.Width > 25 Then
Panel1.Width = Panel1.Width - 1
End If
ElseIf Panel1.Width = 25 Then
Timer2.Enabled = False
End If
End Sub
Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
If Panel1.ClientRectangle.Contains(Panel1.PointToClient(MousePosition)) Then
If Not Timer1.Enabled AndAlso Panel1.Width < 150 Then
Timer1.Enabled = True
Timer2.Enabled = False
End If
Else
If Not Timer2.Enabled AndAlso Panel1.Width > 25 Then
Timer1.Enabled = False
Timer2.Enabled = True
End If
End If
End Sub
End Class
【问题讨论】:
-
vba???为什么是 TIMEr 事件?当鼠标悬停在面板上时,使用您希望它打开的鼠标事件(如 mouseenter)。
-
@Plutonix 他使用计时器使面板具有动画效果(或者我理解)
-
@crono,完全正确!