2010-04-24 6 views
1

maintenant afficher le programme Messagebox et attendre la décision de l'utilisateur. Comment faire, ce programme n'attend pas? Afficher Messagebox, fourmi continuer. (Je n'ai pas besoin d'une action de l'utilisateur J'ai juste besoin de montrer le texte)afficher le message dans de nouvelles fenêtres

Ou peut-être une meilleure option que de signaler cette information dans une nouvelle fenêtre?

J'espère pouvoir comprendre mon problème.

Répondre

1

moyen rapide et facile: utiliser un BackgroundWorker pour héberger votre travail de longue haleine en cours d'exécution et utiliser les événements du travailleur pour faire apparaître messages dans le thread UI.

edit: il se peut que vous souhaitiez afficher les messages sous la forme d'un journal des messages.

public partial class MainWindow : Form 
{ 
    #region Constructor 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 
    #endregion 

    #region Events 
    private void button_Click(object sender, EventArgs e) 
    { 
     listBox.Items.Add("Job started!"); 
     backgroundWorker.RunWorkerAsync(); 
    } 
    private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) 
    { 
     for (int i = 0; i < 10; i++) 
     { 
      // send data from the background thread 
      backgroundWorker.ReportProgress(0, i); 
     } 
    } 
    private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) 
    { 
     // communicate with UI thread 
     listBox.Items.Add(string.Format("Received message: {0}", e.UserState)); 
    } 
    private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) 
    { 
     listBox.Items.Add("Job done!"); 
    } 
    #endregion 
} 
1

Créer une nouvelle Form, mettre des contrôles sur elle et montrer à l'utilisateur:

new PopupForm().Show(); 
+0

Merci, mais comment utiliser la « nouvelle PopupForm(). Show() ;? ne comprend pas. – lolalola

+0

Vous devez ajouter de nouvelles fenêtres formulaire à votre projet nommant' PopupForm'. –

0

Si vous avez juste pour afficher une fenêtre de notification, puis this serait une aide que j'ai écrit quelque temps en arrière; fonctionne comme Outlook comme la fenêtre de notification.

alt text

Questions connexes