Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    49

    Problema con visualizzazione form

    Salve raga... volvo fare un programma come il tasto start... in pratica quando passi davanti all form con il mouse dovrebbe aprirsi un altro form... fino a qui tuttook... soltanto che dopo ho aggiunto l'istruzione che quando tolgo il mouse il secondo form dovrebbe sparire... e qui succede un macello... il programma impazzisce... infatti il secondo form appare ,sparisce, riappare, sparisce fino all infinito... nn so come risolvere... vi posto anche il codice scritto

    Allora fin qui
    codice:
    Private Sub Form1_click() Handles MyBase.MouseEnter Form2.ShowDialog(Me) End Sub
    tutto ok
    quando inserisco questa istuzione
    codice:
    Form2.Close()
    il programma va in tilt...
    cm posso risolvere??

  2. #2

    Re: Problema con visualizzazione form

    Originariamente inviato da Nekra49
    Salve raga... volvo fare un programma come il tasto start... in pratica quando passi davanti all form con il mouse dovrebbe aprirsi un altro form... fino a qui tuttook... soltanto che dopo ho aggiunto l'istruzione che quando tolgo il mouse il secondo form dovrebbe sparire
    Veramente il codice che hai postato mostra l'evento Click e non MouseMove del tuo form1.
    In linea di principio cerca di usare un linguaggio ed una punteggiatura adeguate, sia per rispetto verso gli altri utenti sia per sperare di ottenere risposte utili.

  3. #3
    Salve.
    Infatti...
    Nel primo esempio hai postato un evento 'click'...
    Dopo hai scritto solo:

    Form2.Close()
    Senza dire dove lo hai messo e quant'altro...?!


    Più chiarezza...e come ti è stato 'suggerito' usa l'evento:
    form.mousemove...

    Se si tratta solo di 'passaggio' e NON 'click'...
    Notte.
    Un salutone dall'Alta Maremma...!

  4. #4
    Ciao Nekra49,
    servirebbe sapere il linguaggio che stai usando con precisione per aiutarti, altra cosa indispensabile è capire dove hai messo l'istruzione Form2.Close() da quale evento viene richiamata insomma, per il primo si capisce che stai chiamando il Form2.ShowDialog(Me) dalla classe principale usando Handles MyBase.MouseEnter la parte tra Sub e Handles MyBase.MouseEnter serve solamente per dare un nome alla funzione il vero evento è spacificato da Handles, ma nella seconda parte non sappiamo dove te richiami questo evento.
    Intanto ti dico che quando esci dal secondo form viene richiamato l'evento MouseEnter perchè molto probabilmente il cursore del mouse si trova sopra primo form quando viene chiuso il secondo e quindi ti parte l'istruzione Form2.ShowDialog(Me).
    --------------------------------------------------------------------------------------------
    Se hai messo la chiusura del form2 sul MyBase.MouseLeaveEvent naturalmente hai che il cursore entra nel form1 avvia MyBase.MouseEnter che apre il Form2 ma se non ti trovi subito sopra ad esso dovrebbe richiamare subito l'evento MyBase.MouseLeaveEvent che ti richiude il Form2 e rientramio nuovamente nel MyBase.MouseEnter e così via.
    Non prende per oro colato quest'ultimo passaggio separato dalla linea tratteggiata non sono sicurissimo che funzioni così, dovrei provare ma ora non ho tempo
    Fammi sapere dove hai messo questo From2.Close() ed il linguaggio che usi sarò felice di aiutarti un saluto e
    Adora anche tu il metal

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    49
    Originariamente inviato da Popored86
    Ciao Nekra49,
    servirebbe sapere il linguaggio che stai usando con precisione per aiutarti, altra cosa indispensabile è capire dove hai messo l'istruzione Form2.Close() da quale evento viene richiamata insomma, per il primo si capisce che stai chiamando il Form2.ShowDialog(Me) dalla classe principale usando Handles MyBase.MouseEnter la parte tra Sub e Handles MyBase.MouseEnter serve solamente per dare un nome alla funzione il vero evento è spacificato da Handles, ma nella seconda parte non sappiamo dove te richiami questo evento.
    Intanto ti dico che quando esci dal secondo form viene richiamato l'evento MouseEnter perchè molto probabilmente il cursore del mouse si trova sopra primo form quando viene chiuso il secondo e quindi ti parte l'istruzione Form2.ShowDialog(Me).
    --------------------------------------------------------------------------------------------
    Se hai messo la chiusura del form2 sul MyBase.MouseLeaveEvent naturalmente hai che il cursore entra nel form1 avvia MyBase.MouseEnter che apre il Form2 ma se non ti trovi subito sopra ad esso dovrebbe richiamare subito l'evento MyBase.MouseLeaveEvent che ti richiude il Form2 e rientramio nuovamente nel MyBase.MouseEnter e così via.
    Non prende per oro colato quest'ultimo passaggio separato dalla linea tratteggiata non sono sicurissimo che funzioni così, dovrei provare ma ora non ho tempo
    Fammi sapere dove hai messo questo From2.Close() ed il linguaggio che usi sarò felice di aiutarti un saluto e
    Grazzie mille veramente gentile... Comunque per piu chiarezza posto il codice intero...
    codice:
    Public Class Form1 
    Private Sub Form1_click() Handles MyBase.MouseEnter 
    Form2.ShowDialog(Me) 
    End Sub 
    End Class
    Poi
    codice:
    Public Class Form2 
    Private Sub Form2_click() Handles MyBase.MouseLeave 
    Form2.Close() 
    End Sub 
    End Class

    A e il linguaggio è visual basic... uso visual basic express 2010...
    Ora però il problema non è piu quello di prima visto che ho cambiato un po di cose...
    ora sul form2.close me lo sottoline e dice che "'Start.Form2' non può fare riferimento a se stesso mediante la sua istanza predefinita. Utilizzare 'Me'".
    sto cercando di risolvere il problema ma non riesco... scusate la mia ignoranza...

  6. #6
    Questo problema è più semplice metti direttamente Me.Close() ed il gioco è fatto scusa se non ho risposto subito ma è un periodo un pochino burrascoso
    Adora anche tu il metal

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    49
    Originariamente inviato da Popored86
    Questo problema è più semplice metti direttamente Me.Close() ed il gioco è fatto scusa se non ho risposto subito ma è un periodo un pochino burrascoso
    A ecco dove dovevo mette ME... lo messo da tutte le parti, ma form 2 lo lasciavo sempre... Grazie mille popored!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.