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

    Problema Apertura form continua

    Salve ragazzi sono nuovo, allora ho un problema io vorrei che quando inserisco dei dati in 2 textbox me li verifichi e se sono giusti mi parta l'avanzamento di una progressbar e poi apra il secondo form al termine dell'avanzamento della progressbar. Pero mi apre la form2 tantissime volte e se non premo stop al debug mi si riempie tutto lo schermo. Ecco il codice

    codice:
        private void button1_Click(object sender, EventArgs e)     {       if (textBox1.Text == "Andrea")         if (textBox2.Text == "Pirola")           timer1.Enabled = true;         {         if (textBox1.Text == "Andrea")           if (textBox2.Text != "Pirola")             MessageBox.Show("Password Errata!", "Login");       }       {         if (textBox2.Text == "Pirola")           if (textBox1.Text != "Andrea")             MessageBox.Show("Id errato", "Login");       }       {         if (textBox1.Text == "")           if (textBox2.Text == "")             MessageBox.Show("Inserisci i Dati!");       }       {        }     }      private void timer1_Tick(object sender, EventArgs e)     {       Form3 frm = new Form3();       if (textBox1.Text == "Andrea")         if (textBox2.Text == "Pirola")           progressBar1.PerformStep();       if (progressBar1.Value == progressBar1.Maximum)         frm.Show();             }   } }
    Spero di essere stato chiaro
    Saluti Andrea
    Il codice forse lo leggete male in questa maniera lo metto anche normale

    private void button1_Click(object sender, EventArgs e)
    {
    if (textBox1.Text == "Andrea")
    if (textBox2.Text == "Pirola")
    timer1.Enabled = true;


    {
    if (textBox1.Text == "Andrea")
    if (textBox2.Text != "Pirola")
    MessageBox.Show("Password Errata!", "Login");
    }
    {
    if (textBox2.Text == "Pirola")
    if (textBox1.Text != "Andrea")
    MessageBox.Show("Id errato", "Login");
    }
    {
    if (textBox1.Text == "")
    if (textBox2.Text == "")
    MessageBox.Show("Inserisci i Dati!");
    }
    {

    }
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
    Form3 frm = new Form3();
    if (textBox1.Text == "Andrea")
    if (textBox2.Text == "Pirola")
    progressBar1.PerformStep();
    if (progressBar1.Value == progressBar1.Maximum)
    frm.Show();


    }
    }
    }

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Il linguaggio va indicato anche nel titolo, come da Regolamento.

    Qui l'ho aggiunto io.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: Problema Apertura form continua

    Originariamente inviato da andrea1980345
    Pero mi apre la form2 tantissime volte...

    codice:
    private void timer1_Tick(object sender, EventArgs e)
         {
           Form3 frm = new Form3();
           if (textBox1.Text == "Andrea")
           if (textBox2.Text == "Pirola")
               progressBar1.PerformStep();
           if (progressBar1.Value == progressBar1.Maximum)
             frm.Show();
         }
    Ovvio, lo hai deciso tu nell'evento Tick del Timer.


  4. #4
    Ciao sei cosi gentile da darmi dove è che sta il mio errore nel codice e come sostituirlo cioè con che codice? Grazie in anticipo

  5. #5
    Originariamente inviato da andrea1980345
    Ciao sei cosi gentile da darmi dove è che sta il mio errore nel codice e come sostituirlo cioè con che codice? Grazie in anticipo
    L'istruzione è questa:
    codice:
    Form3 frm = new Form3();
    ...
    frm.Show();
    Praticamente gli dici di creare l'oggetto frm come NUOVA Form3() e poi lo visualizzi con .Show()

    Ogni volta è un Frm3() nuovo. Per evitare questo inconveniente devi spostare la definizione di frm fuori dalla Void, in modo che non te ne crei una nuova tutte le volte.

  6. #6
    Scusa potresti farmi un esempio perche sono algi inizi sono ancora un neota su questo campo...

  7. #7
    Una cosa di questo tipo

    codice:
    // all'esterno delle void
    private form frm;
    
    // all'avvio della maschera principale
    private void MiaMascheraPrincipaleDelProgramma_Shown(object sender, EventArgs e)
            {
      
                // imposto oggetto form
                frm = new Form3();
            }
    
    // su timer 
    private void timer1_Tick(object sender, EventArgs e) 
         {
           if (textBox1.Text == "Andrea")
           if (textBox2.Text == "Pirola")
               progressBar1.PerformStep();
           if (progressBar1.Value == progressBar1.Maximum)
             frm.Show();
         }
    In pratica dichiari frm all'esterno delle void come oggetto maschera, poi lo inizializzi con new quando lo vuoi creare (una volta sola), poi su timer lo usi come ti serve.

  8. #8
    Sarò stupido forse xD ma non capisco

  9. #9
    Cioè ho fatto cosi

    private void button1_Click(object sender, EventArgs e)
    {
    if (textBox1.Text == "Andrea")
    if (textBox2.Text == "Pirola")
    timer1.Enabled = true;

    {
    if (textBox1.Text == "Andrea")
    if (textBox2.Text != "Pirola")
    MessageBox.Show("Password Errata!", "Login");
    }
    {
    if (textBox2.Text == "Pirola")
    if (textBox1.Text != "Andrea")
    MessageBox.Show("Id errato", "Login");
    }
    {
    if (textBox1.Text == "")
    if (textBox2.Text == "")
    MessageBox.Show("Inserisci i Dati!");
    }
    {

    }
    }
    private Form3 frm;
    private void MiaMascheraPrincipaleDelProgramma_Shown(object sender, EventArgs e)
    {
    // imposto oggetto form
    frm = new Form3();
    }


    private void timer1_Tick(object sender, EventArgs e)
    {

    if (textBox1.Text == "Andrea")
    if (textBox2.Text == "Pirola")
    progressBar1.PerformStep();
    if (progressBar1.Value == progressBar1.Maximum)
    frm.Show();
    }
    }
    }

    Pero appena avvio il debug inserisco i dati parte il caricamento della progressbar e meta si ferma il programma e mi torna alla schermata codice dicendomi "Riferimento a un oggetto non impostato su un'istanza di oggetto."

    Come risolvo?

  10. #10
    Ragazzi mi serve veramente aiutatemi perfavore...

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.