Jump to content

Recommended Posts

Posted

Boas pessoal.

Como posso colocar um menustrip aparecendo e depsaparecendo conforme se o rato estiver na posiçao onde esta o menustrip ele mostra, caso nao esteja ele coloca o menustrip em "invisivel"

Ja tentei com o mouse move mas nas verificaçoes nao consegui perceber entre que valores deveria estar. se alguem puder deixar uma ideia sobre como fazer agradecia

 Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
        If MousePosition.Y > RectangleShape2.Location.Y And MousePosition.X >= RectangleShape2.Location.X Then
            RectangleShape2.Visible = True
        Else
            RectangleShape2.Visible = False
        End If
    End Sub

O if provavelmente nao estara bem. Quem puder ajudar agradeço.

Abraço

Posted

O if está errado na medida em que verificas apenas se a coordenada do rato é superior à coordenada da shape, o que faria com que qualquer posição acima da sua coordenada, mas para além dos seus limites, disparasse a parte verdadeira do if.

A estructura Rectangle tem um método para determinar intersecção, que podes usar para as verificações.

Mais, terás de fazer a verificação a outro nível. Usa MousePosition.X e MousePosition.Y para determinar coordenadas absolutas, e um pouco de matemática para calcular as coordenadas iniciais, com a posição do form e containers até ao sítio que pretendes.

Isto porque o evento MouseMove do Form deixa de responder quando o rato passa por cima de outro objecto.

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Posted

O if está errado na medida em que verificas apenas se a coordenada do rato é superior à coordenada da shape, o que faria com que qualquer posição acima da sua coordenada, mas para além dos seus limites, disparasse a parte verdadeira do if.

A estructura Rectangle tem um método para determinar intersecção, que podes usar para as verificações.

Mais, terás de fazer a verificação a outro nível. Usa MousePosition.X e MousePosition.Y para determinar coordenadas absolutas, e um pouco de matemática para calcular as coordenadas iniciais, com a posição do form e containers até ao sítio que pretendes.

Isto porque o evento MouseMove do Form deixa de responder quando o rato passa por cima de outro objecto.

Penso que entendi. vamos tentar aplicar

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.