110,500
社区成员
发帖
与我相关
我的任务
分享
BackgroundWorker backgroundWorker;
Form2 authenticateDialog;
public Form3()
{
InitializeComponent();
backgroundWorker = new BackgroundWorker();
backgroundWorker.DoWork += new DoWorkEventHandler(DoLogin);
backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DoLoginCompleted);
}
private void button1_Click(object sender, EventArgs e)
{
backgroundWorker.RunWorkerAsync();
ShowAuthenticateDialog();
}
protected void DoLogin(object sender, DoWorkEventArgs e)
{
int i=0;
int max=100;
while(i<max)
{
Thread.Sleep(10);
i++;
}
}
protected void DoLoginCompleted(object sender, RunWorkerCompletedEventArgs e)
{
CloseAuthenticateDialog();
MessageBox.Show("OK");
}
private void ShowAuthenticateDialog()
{
authenticateDialog = new Form2();
authenticateDialog.ShowDialog();
}
private void CloseAuthenticateDialog()
{
authenticateDialog.Close();
}
CloseAuthenticateDialog();
this.BeginInvoke(new Action(() =>
{
MessageBox.Show("OK");
}));