Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    [C# 2005] Chiudere Form1 e aprire Form2

    Salve a tutti sto cercando di implementare una semplice form login (form1)
    la quale se le credenziali di accesso sono corrette deve aprire la form2
    e lei deve chiudersi.
    Purtroppo quando chiudo la form1 mi si chiude l'applicazione.

    Premetto che le sto provando tutte e che non vorrei seguire la strada nel nascondere
    la form1 dopo l'autenticazione.

    Da qualche parte su internet ho letto che utilizzando la seguente riga di codice (nel form1)

    codice:
    Application.OpenForms["form1"].Close();
    invece di form1.close() si risolveva il problema...a me non si è risolto
    l'applicazione si chiude ugualmente.

    Non credevo che una cosa così semplice .net la rendesse complicatissima.

    Cosa mi suggerite?

    Grazie
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  2. #2
    non conosco c# comunque, molto probabilmente il problema è dovuto al fatto che se si chiude il form principale, anche l'aaplicazione viene chiusa:
    diciamo che form1 è il form principale (quello che ti si apre all'avvio del programma) e form2 è un form collegato all'applicazione. se si chiude form1 viene in automatico chiuso anche form2.

  3. #3
    Originariamente inviato da Zio Bill
    non conosco c# comunque, molto probabilmente il problema è dovuto al fatto che se si chiude il form principale, anche l'aaplicazione viene chiusa:
    diciamo che form1 è il form principale (quello che ti si apre all'avvio del programma) e form2 è un form collegato all'applicazione. se si chiude form1 viene in automatico chiuso anche form2.

    Questa cosa qui l'avevo capita infatti volevo sapere se c'è un modo
    per evitare la chiusura dell'applicazione :master:

    Cmq grazie per l'intervento.
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Bè potresti renderlo invisibile facendo

    codice:
     form1.visible = false

  5. #5
    Originariamente inviato da Stoicenko
    Bè potresti renderlo invisibile facendo

    codice:
     form1.visible = false
    E' una soluzione...ma come ho scritto nel primo post vorrei evitarla.
    Naturalmente se è l'unica...


    Grazie.
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    il fatto è che la form1 è la base del programma, perchè è di default nella creazione con visual studio..

    dovresti far si che l'autenticazione non fosse la form 1 ma una dialog aperta all'inizializzazione del programma.. è cmq un'idea..

  7. #7
    Originariamente inviato da Stoicenko
    il fatto è che la form1 è la base del programma, perchè è di default nella creazione con visual studio..

    dovresti far si che l'autenticazione non fosse la form 1 ma una dialog aperta all'inizializzazione del programma.. è cmq un'idea..

    Vorrei evitare di aprire cmq sempre il form princpale perchè precarica dei dati
    ed effettua alcuni controlli di connessione a webservices ecc..
    Lavoro che potrebbe risultare inutile se poi non si è in possesso delle
    chiavi di accesso.
    Cmq mi sembra strano che mamma microsoft non abbia previsto
    una funzionalità del genere...la fase di login non è solo una caratteristica
    del web
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  8. #8
    Cmq io credo che se tu l'altro form lo apri su un altro thread l'appl continui lo stesso..

  9. #9
    Originariamente inviato da jellojello3
    Cmq io credo che se tu l'altro form lo apri su un altro thread l'appl continui lo stesso..
    forse potrebbe essere una buona soluzione...per quanto riguarda la sintassi ha qualche
    esempio a portata di mano...grazie mille
    Aikon

    ...questo business è binario: o sei 1 o sei 0, vivo o morto, non esistono secondi classificati!

  10. #10
    codice:
    private void button1_Click(object sender, EventArgs e)
            {
    
                this.Close();
    
    //using System.Threading
                Thread nt = new Thread(new ThreadStart(myForm));
                nt.Start();
            }
    
            private void myForm()
            {
                Form2 form = new Form2();
                form.ShowDialog();
            }
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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.