Como: Criar funcionalidade AoEntrar
O .NET Compact estrutura não dá suporte a OnEnter e OnLeave métodos de controles. No entanto, porque o OnMouseMove há suporte para o método, você pode usá-los e o Capture propriedade para determinar quando o ponteiro do mouse entra ou deixa o controle.
Este exemplo define um controle personalizado simples, MouseCapture, que é azul quando os movimentos do mouse ocorrem dentro do controle e cinza claro quando fora do controle. Ele determina se a coordenada do mouse está dentro de sua ClientRectangle usando o OnMouseMove método.
Observe que movendo para dentro e para fora do controle não irá alterar sua cor.Você deve arrastar o mouse, como para uma operação arrastar e soltar.
Para criar e implementar o controle personalizado
Adicionar o MouseCapture controle personalizado para seu projeto.
Public Class MouseCapture Inherits Control Public Sub New() Me.BackColor = Color.LightGray End Sub 'New ' If the mouse is over the control, Capture is true. Protected Overrides Sub OnMouseMove(e As MouseEventArgs) Me.Capture = Me.ClientRectangle.Contains(e.X, e.Y) If Me.Capture Then ' Blue indicates inside the control. Me.BackColor = Color.Blue Else Me.BackColor = Color.LightGray End If End Sub End Class
public class MouseCapture : Control { public MouseCapture() { this.BackColor = Color.LightGray; } // If the mouse is over the custom control, Capture is true. protected override void OnMouseMove(MouseEventArgs e) { this.Capture = this.ClientRectangle.Contains(e.X, e.Y); if (this.Capture == true) this.BackColor = Color.Blue; else this.BackColor = Color.LightGray; } }
Criar uma instância de MouseCapture no construtor do formulário ou para o seu Load evento.
' Assumes mc has been delared ' for the form as type MouseCapture. Dim mc As New MouseCapture() mc.Parent = Me mc.Bounds = New Rectangle(20, 50, 100, 50)
// Assumes mc has been delared // for the form as type MouseCapture. mc = new MouseCapture(); mc.Parent = this; mc.Bounds = new Rectangle(20, 50, 100, 50);
Compilando o código
Este exemplo requer referências aos seguintes namespaces: