Шоу на тему парения - PullRequest
       3

Шоу на тему парения

2 голосов
/ 05 января 2012

Итак, у меня есть простая форма с кнопкой на ней. В событии MouseEnter формы я устанавливаю кнопку видимым. В событии MouseLeave формы я устанавливаю кнопку скрытой. По сути, кнопка будет видна только при наведении курсора на форму. Проблема в том, что при наведении курсора на кнопку он исчезает. Даже если кнопка находится прямо в центре формы, она все равно демонстрирует такое же поведение.

Есть ли какое-либо решение, кроме размещения событий MouseEnter / Exit на кнопке и всего остального внутри формы?

Public Class VerticalStrip
    Private Sub VerticalStrip_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        btnAdd.Visible = False
    End Sub

    Private Sub VerticalStrip_MouseEnter(sender As Object, e As System.EventArgs) Handles Me.MouseEnter
        btnAdd.Visible = True
    End Sub

    Private Sub VerticalStrip_MouseLeave(sender As Object, e As System.EventArgs) Handles Me.MouseLeave
        btnAdd.Visible = False
    End Sub
End Class

1 Ответ

3 голосов
/ 05 января 2012

Да; в событии MouseLeave сначала проверьте, действительно ли мышь покинула форму:

Public Class VerticalStrip
    Private Sub VerticalStrip_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        btnAdd.Hide()
    End Sub

    Private Sub VerticalStrip_MouseEnter(sender As Object, e As System.EventArgs) Handles Me.MouseEnter
        btnAdd.Show()
    End Sub

    Private Sub VerticalStrip_MouseLeave(sender As Object, e As System.EventArgs) Handles Me.MouseLeave
        If Not Me.ClientRectangle.Contains(Me.PointToClient(Windows.Forms.Cursor.Position)) Then
            btnAdd.Hide()
        End If
    End Sub
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...