Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 23
  1. #11
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da iko82
    Ti riferisci a questo?
    No. Lui si riferisce al SUO second frammento di codice.
    Leggi bene...


  2. #12
    Utente di HTML.it L'avatar di iko82
    Registrato dal
    Apr 2007
    Messaggi
    63
    Si è vero MA... a parte che una volta chiuso il form di login perchè l 'autenticazione è andata a buon fine mi visualizza la schermata principale del telefono e dopo qualche secondo mi riapre il mio secondo form. Non è un "errore" non chiamare Application.Run() ?
    Il message pump viene eseguito lo stesso nella maniera corretta anche senza questa chiamata?


    Originariamente inviato da Pirelli72
    No a questo:

    codice:
    [MTAThread]
            static void Main()
            {
                Form1 myform1 = new Form1();
                myform1.ShowDialog();
    
                if (myform1.isLogged)
                {
                    Form2 myform2 = new Form2();
                    myform2.ShowDialog();
                }
            }

  3. #13
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Si in effetti a quel problema...piccolo rimedio:

    codice:
     [MTAThread]
            static void Main()
            {
                Form2 myform2 = new Form2();
                Form1 myform1 = new Form1();
                myform2.Visible = false;
                myform2.Show();
                
                myform1.ShowDialog();
    
                if (myform1.isLogged)
                {
                    myform2.Visible = true;
                    myform2.ShowDialog ();
                }
            }
    Sbagliare è umano, perseverare è diabolico.

  4. #14
    Utente di HTML.it L'avatar di iko82
    Registrato dal
    Apr 2007
    Messaggi
    63
    Si infatti avevo pensato anche io ad una cosa del genere.
    Ma è formalmente corretta una soluzione cosi?

    Originariamente inviato da Pirelli72
    Si in effetti a quel problema...piccolo rimedio:

    codice:
     [MTAThread]
            static void Main()
            {
                Form2 myform2 = new Form2();
                Form1 myform1 = new Form1();
                myform2.Visible = false;
                myform2.Show();
                
                myform1.ShowDialog();
    
                if (myform1.isLogged)
                {
                    myform2.Visible = true;
                    myform2.ShowDialog ();
                }
            }

  5. #15
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    No, infatti ti avevo suggerito di caricare il Form2 dal Form1 ad autenticazione avvenuta.
    Sbagliare è umano, perseverare è diabolico.

  6. #16
    Utente di HTML.it L'avatar di iko82
    Registrato dal
    Apr 2007
    Messaggi
    63
    Ok, mettiamo che nel mio metodo di conferma dati di login abbia:

    Codice PHP:

            
    private void ok_Click(object senderEventArgs e)
            {
                if (
    cf.login(txtUser.TexttxtPassword.Text))
                {
                    
    logged true;

                    
    frmMain main = new frmMain();
                    
    main.ShowDialog();
                }
            } 
    in questo modo una volta riconosciuto l'utente partirebbe il form principale dell'applicazione.
    Il form di login però non verrebbe mai ucciso continuando ad occupare risorse... Sbaglio?

    Mi pare di capire che con windows forms non serva molto avere un file che contiene il main() in cui cablare semplicemente la logica dell'applicativo (come si userebbe fare in c/c++). Tanto vale mettere l'entry point all'interno del primo form giusto?

    Originariamente inviato da Pirelli72
    No, infatti ti avevo suggerito di caricare il Form2 dal Form1 ad autenticazione avvenuta.

  7. #17
    Utente di HTML.it L'avatar di iko82
    Registrato dal
    Apr 2007
    Messaggi
    63
    A voler comunque essere pignoli c'è il problema opposto cosi...
    Ovvero all'avvio c'è lo sfarfallio del passagio dalla finestra main a quella di login...

    Purtroppo sono problemi ridicoli lo so, me ne rendo conto, ma sono fra le prime cose che vedono gli utenti

    Originariamente inviato da Pirelli72
    Si in effetti a quel problema...piccolo rimedio:

    codice:
     [MTAThread]
            static void Main()
            {
                Form2 myform2 = new Form2();
                Form1 myform1 = new Form1();
                myform2.Visible = false;
                myform2.Show();
                
                myform1.ShowDialog();
    
                if (myform1.isLogged)
                {
                    myform2.Visible = true;
                    myform2.ShowDialog ();
                }
            }

  8. #18
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Originariamente inviato da iko82
    Ok, mettiamo che nel mio metodo di conferma dati di login abbia:

    Codice PHP:

            
    private void ok_Click(object senderEventArgs e)
            {
                if (
    cf.login(txtUser.TexttxtPassword.Text))
                {
                    
    logged true;

                    
    frmMain main = new frmMain();
                    
    main.ShowDialog();
                }
            } 
    in questo modo una volta riconosciuto l'utente partirebbe il form principale dell'applicazione.
    Il form di login però non verrebbe mai ucciso continuando ad occupare risorse... Sbaglio?

    Mi pare di capire che con windows forms non serva molto avere un file che contiene il main() in cui cablare semplicemente la logica dell'applicativo (come si userebbe fare in c/c++). Tanto vale mettere l'entry point all'interno del primo form giusto?
    A parte che non ho capito cosa sia 'cf.login', ad ogni modo il form principale, ovvero quello di Login come dici tu non potrai chiuderlo altrimenti terminerà anche l'applicazione.
    Sbagliare è umano, perseverare è diabolico.

  9. #19
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Io farei così:


    codice:
    [STAThread]
    static void Main()
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
    
        frmLogin fLogin = new frmLogin();
        fLogin.ShowDialog();
        Boolean bSuccess = fLogin.m_bLogin;            
    
        if (bSuccess)
        {
            Application.Run(new frmMain());
        }
    }
    in cui m_bLogin è una proprietà/variabile public di frmLogin che viene posta a true o false a seconda che la verifica del Login abbia avuto o meno successo.
    Se è true apre il frmMain, altrimenti fine della storia.


  10. #20
    Utente di HTML.it L'avatar di iko82
    Registrato dal
    Apr 2007
    Messaggi
    63
    Ok grazie.
    Ma qualcuno mi sa spiegare la differenza fra lanciare il .ShowDialog() e lanciare Application.Run() ?
    Ho letto cose abbastanza contrastanti... A quanto pare non cambia poi molto nel gestire tutta l'applicazione con le ShowDialog.

    grazie
    ciao
    Fede

    Originariamente inviato da gibra
    Io farei così:


    codice:
    [STAThread]
    static void Main()
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
    
        frmLogin fLogin = new frmLogin();
        fLogin.ShowDialog();
        Boolean bSuccess = fLogin.m_bLogin;            
    
        if (bSuccess)
        {
            Application.Run(new frmMain());
        }
    }
    in cui m_bLogin è una proprietà/variabile public di frmLogin che viene posta a true o false a seconda che la verifica del Login abbia avuto o meno successo.
    Se è true apre il frmMain, altrimenti fine della storia.


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.