Cambio Form

di il
14 risposte

Cambio Form

Buon giorno
Io vorrei fare che la mia form1 sia es esempio il logo dell’azienda che stia aperto per tot secondi poi si chiuda e passi alla form dell’applicazione
Che comandi mi consigliate di usare?

Grazie

14 Risposte

  • Re: Cambio Form

    Non ci sono comandi particolari. Visualizza il primo form, attendi con un timer o una Sleep e passa a visualizzare il secondo
  • Re: Cambio Form

    spiddy1 ha scritto:


    Io vorrei fare che la mia form1 sia es esempio il logo dell’azienda che stia aperto per tot secondi poi si chiuda e passi alla form dell’applicazione
    Che comandi mi consigliate di usare?
    Non ci sono comandi automatici per fare quanto chiedi. Le strade possibili sono modificare il programma principale dell'applicazione affinché la finestra con il logo venga creata e visualizzata magari facendola seguire dalla creazione della finestra principale (MainForm) e nascondendo la prima quando la principale è pronta.

    In alternativa, potrebbe essere la finestra principale che al momento della propria creazione istanzia la finestra secondaria e la chiude al termine del caricamento, oppure la finestra secondaria si può chiudere da sola mettendo un Timer sulla stessa che ne invochi il metodo Close() dopo un breve intervallo.

    Le possibilità sono svariate, quindi scegli quella che ti piace di più, ma attendo che al metodo Run() dell'oggetto Application venga passata sempre la finestra principale, ossia quella che mantiene il programma aperto fino a quando essa stessa è aperta.

    Ciao!
  • Re: Cambio Form

    Riuscite a farmi un’esempio di codice?
    Bisogna usare form .close?
    A me basta che la prima form stia fuori 5 secondi poi si chiuda completamente e lavorare sulla seconda
    Grazie
  • Re: Cambio Form

    spiddy1 ha scritto:


    Riuscite a farmi un’esempio di codice?
    Supponendo di avere una finestra con il logo nella classe LogoForm, per crearla basta
    
    var logoForm = new LogoForm();
    
    Per chiudere la finestra, puoi scrivere
    
    logoForm.Close();
    
    In alternativa, metti un Timer nella finestra LogoForm e nell'evento OnTick del timer stesso inserisci
    this.Close();
    o più semplicemente
    Close();
    Prova a scrivere un po' di codice e in caso di problemi postalo qui.

    Ciao!
  • Re: Cambio Form

    Ok grazie stasera mi cimento e vi faccio sapere
  • Re: Cambio Form

    E x aprire la seconda?logicamente devo aprirla prima si chiuda la prima
  • Re: Cambio Form

    spiddy1 ha scritto:


    E x aprire la seconda?logicamente devo aprirla prima si chiuda la prima
    C'è il metodo Show().

    Un minimo di documentazione però andrebbe letta...
  • Re: Cambio Form

    Buona sera
    Sono riuscito ad aprire la form 2 cosi
    
    Form2 form2 = new Form2();
    form2.ShowDialog();
    
    
    Pero non riesco a chiudere il form1 sotto ho provato a scrivere
    
    
    Close();
    
    Appena dopo l’apertura o di sfruttare il form2_load

    E scrivendo
    
     Form1 form1 = new Form1();
     form1.Close();
    
  • Re: Cambio Form

    Ma non devi chiuderlo il form sotto
    Usa this.Hide() prima dello ShowDialog() del form2 e dopo this.Show()

    form1 o come lo chiami sarà il tuo form principale, se lo chiudi esci dal programma

    Ripeto devi studiare un pochino, non è per romperti le scatole che te lo si dice ma per far risparmiare tempo pure a te. In qualsiasi lavoro ci vuole un minimo di infarinatura prima di iniziare
  • Re: Cambio Form

    Grazie
    Hai per caso un link ho qualcosa del genere pdf etc perche mi legga un po di cose?
    Grazie
  • Re: Cambio Form

    spiddy1 ha scritto:


    Hai per caso un link ho qualcosa del genere pdf etc perche mi legga un po di cose?
    Puoi non saper usare i Form, ma i motori di ricerca come Google li devi conoscere.
  • Re: Cambio Form

    Il tuo form1 dovrà essere il form principale dell'applicazione.
    da li dichiari il form2, lo apri, lo puoi anche posizionare dove vuoi, e successivamente nascondi il form1.
    
     private void Form1_Load(object sender, EventArgs e)
            {
                Form2 logo = new Form2();//  dichiaro il form chiamandolo Logo
                logo.ShowDialog();// apro il form logo
                logo.Location = new Point(100, 200);// lo posiziono dove voglio
                this.Visible = false;// nascondo il form1
            }
    
    
    adesso nel form2, devi mettere una istruzione che lo chiuda dopo un tempo x, per fare questo invece di bloccare il thread, puoi usare
    una apposita routine trovate in rete.
    
    
     private void Form2_Shown(object sender, EventArgs e)
            {
                Wait(5);  //richiamo il metodo di attesa passandogli il valore di 5 secondi
                this.Close(); // chiudo il form2
            }
    
    
     private void Wait(int sec)  // metodo che rimane in esecuzione fino a quando non sono passati i sec 
            {
                if (sec < 1) return;
                DateTime _desired = DateTime.Now.AddSeconds(sec);
                while (DateTime.Now < _desired)
                {
                    System.Windows.Forms.Application.DoEvents();
                }
            }
    
    
  • Re: Cambio Form

    Grazie
  • Re: Cambio Form

    Ho risolto con la funzione splash screen
    Comunque prima di chiedere cerco sempre in rete ma il lato negativo e ce ne sono troppe informazione che alle volte ti fanno fare piu’confusione per quello chiedo a voi che siete piu esperti anche solo per trovare una guida perche magari ci siete passati prima di me e avete magari collegamenti semplici e intuitivi
    Grazie
Devi accedere o registrarti per scrivere nel forum
14 risposte