簡體   English   中英

VB.net中面板上的按鈕

[英]Buttons on a Panel in VB.net

我有一個具有彼此相鄰的3個按鈕的面板。 總的來說,按鈕的大小與面板的大小相同。 由於按鈕占據了所有面板,如何觸發Panel1_MouseLeave事件?

將鼠標懸停在按鈕上時,將觸發Panel1_MouseLeave。 您可以結合使用button_MouseLeave和Panel1_MouseLeave來確定鼠標何時真正離開控件。

或按照上面的建議,使按鈕比面板小1px。 當MouseLeave()被觸發時,檢查鼠標位置。 如果它在面板的邊界內,則您尚未離開。 如果它超出范圍,那么您就離開了。

在表單中添加一個計時器並檢查鼠標位置:

Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
  If Panel1.ClientRectangle.Contains(Panel1.PointToClient(MousePosition)) Then
    If Not insidePanel Then
      insidePanel = True
      // do something...
    End If
  Else
    If insidePanel Then
      insidePanel = False
      // do something
    End If
  End If
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM