PDA

View Full Version : [Visual C#] Non eseguire altre operazioni prima della chiusura di un form


s1m0_93
25-10-2010, 16:58
Scusate per il titolo poco esplicativo, ora mi spiego meglio
In un programma che sto creando, ho disegnato un form contenente un pulsante.
Se schiacciato, questo apre un oggetto OpenFileDialog chiede di selezionare un database, chiede la password per aprirlo e richiama un metodo della mia classe ConnectionDb.
Questo metodo avvia la connessione e poi visualizza i dati in un datagrindview passato come parametro.
Questo è il codice che viene eseguito


private void caricaToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog apriDatabase = new OpenFileDialog(); //creo un oggetto OpenFileDialog per selezionare un database
apriDatabase.ShowDialog();
if (apriDatabase.FileName != "") //se è stato selezionato un file esegue le varie operazioni
{
Dati.Path = apriDatabase.FileName;
Dati.Pass = Microsoft.VisualBasic.Interaction.InputBox("Password", "Titolo", "", -1, -1); //visualizzo una input box in cui chiedo di inserire la password del database
ConnectionDb.MostraRecord(dgview_generale); //richiamo il metodo di una mia classe che esegue la connessione a un database
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}



Il problema è che appena avviata l'inputbox, viene eseguito subito dopo il metodo ConnectionDb.MostraRecord(), senza aver avuto il tempo di inserire la password.
Di conseguenza il metodo fallisce e genera un errore.
Come faccio a risolvere questo problema?