user677914
user677914

Reputation: 1

when processing start open new window in c#.net

I'm working on a project in c#.net, a password generator. My problem is that when the password is generated a new window form opens and shows "please wait". My main form is inactive until processing is complete. I already use showdialog, which works, but it stops my main form processing. Help me, what can I do ?

Upvotes: 0

Views: 456

Answers (2)

Paweł Smejda
Paweł Smejda

Reputation: 2005

Use Show() instead of ShowDialog()

Upvotes: 1

mastak
mastak

Reputation: 1457

It is a bit difficult to help if don't see any code.. but I make some working sample for you with entire flow:

    BackgroundWorker worker;
    Form dialogForm;

    private void buttonGeneratePassword_Click( object sender, EventArgs e )
    {
        worker = new BackgroundWorker();
        worker.DoWork += new DoWorkEventHandler( worker_DoWork );
        worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler( worker_RunWorkerCompleted );
        worker.RunWorkerAsync();

        dialogForm = new Form(); // dispay your dialog
        dialogForm.ShowDialog();
    }

    void worker_RunWorkerCompleted( object sender, RunWorkerCompletedEventArgs e )
    {
        // password generated.. close dialog form
        dialogForm.Close();
    }

    void worker_DoWork( object sender, DoWorkEventArgs e )
    {
        // put generate password code here
        Thread.Sleep( 1000 ); // delete this line - it is only for testing flow without password generation code
    }

Hope it help you..

Upvotes: 2

Related Questions