Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [VB] Non aprire un altro Form se un altro e' gia' aperto...

    Applicazione VB.NET:
    Ho un Form Madre con proprieta' IsMdiContainer = True, al suo interno faccio aprire un Form figlio con:

    --------------------------------------------
    Dim Form As New Magazzino()
    Form.MdiParent = Me
    Form.Show()
    --------------------------------------------

    Il problema e' che se clicco nel Bottone che mi fa aprire il Form figlio in continuazione mi apre piu' Form, e questo non lo voglio, se il Form figlio e' gia' aperto non si deve aprire di nuovo fino a che non lo chiudo.

    Come devo fare???

  2. #2
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Magari è solo un pagliativo provvisorio in attesa di una soluzione più "professional", ma se usi una variabile globale tipo:

    varGiaAperto as Boolean

    a cui passare True nell'evento Load della form figlia e false nell'evento Unload?

    Nell'evento click del command metti un:

    if varGiaAperto = True then Exit Sub

    Spero non faccia ridere come metodo... :quipy:
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  3. #3
    Si ma dove si trova l'evento di chiusura???

  4. #4
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Nel form figlio è la Private Sub NomeForm_Unload(ecc.)

    Fai doppio click sulla form e poi in alto a destra dove c'è Load scegli Unload
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

  5. #5
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    public sub Form1_Closing(....

  6. #6
    OK ho trovato!!!

    solo che ho incontrato un altro problema, ma se dichiaro una variabile pubblica nel Form Madre, mica la vede il Form figlio all'interno dell'evento Load()...!!!

    cosa intendi dire con usare una variabile globale...???

  7. #7
    Utente di HTML.it L'avatar di SKIAT
    Registrato dal
    Dec 2001
    Messaggi
    23
    non puoi semplicemente disabilitare il bottone, che fa aprire il figlio, una volta che lo apre...

    spero di averti aiutato ciao
    _si voles pacem paras bellum_

  8. #8
    E' vero non ci avevo pensato, grazie!

  9. #9
    Utente di HTML.it L'avatar di Gammino
    Registrato dal
    Nov 2001
    Messaggi
    195
    Vedo che hai già risolto comunque intendevo questo:

    Se dichiari una Public Aperto as Boolean all'inizio del codice della form madre, poi puoi richiamarla (ovviamente se la form madre è caricata) con frmMadre.Aperto = False

    Non so se mi sono spiegazzato...
    Ci sono giornate in cui mi sembra che il mondo giri al contrario... poi mi sveglio e mi accorgo che purtroppo gira sempre nella stessa direzione: quella sbagliata!
    (Gammino)

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.