Example #1
0
        private void bgwk_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            Result result = e.Result as Result;

            if (result == null)
            {
                Err("不明的錯誤");
                return;
            }
            switch (result.Work)
            {
            case "init":
                if (result.Error)
                {
                    Err("初始化失敗");
                    this.Close();
                }
                else if (result.Argumment == null)
                {
                    Err("無法取得驗證碼");
                }
                else
                {
                    btnLogin.Enabled     = true;
                    btnRecaptcha.Enabled = true;
                    pbCaptcha.Image      = result.Argumment as Image;
                }
                break;

            case "recaptcha":
                btnRecaptcha.Enabled = true;
                if (result.Argumment == null)
                {
                    Err("無法取得驗證碼");
                }
                else
                {
                    pbCaptcha.Image = result.Argumment as Image;
                    txtCaptcha.Clear();
                    txtCaptcha.Focus();
                }
                break;

            case "login":
                if (result.Error)
                {
                    btnRecaptcha_Click(null, null);
                    Err("登入失敗\n錯誤訊息:" + result.Argumment);
                    btnLogin.Enabled = true;
                }
                else
                {
                    bgwk.RunWorkerAsync(new string[] { "list" });
                }
                break;

            case "list":
                if (result.Error)
                {
                    Err("無法取得帳號列表");
                    Application.Exit();
                }
                List <BeanfunGameAccountData> list = (List <BeanfunGameAccountData>)result.Argumment;
                Form_Account frmAcc = new Form_Account(bf);
                foreach (BeanfunGameAccountData data in list)
                {
                    ListViewItem lvi = frmAcc.lstAccount.Items.Add(data.Name);
                    lvi.SubItems.Add(data.Account);
                    lvi.SubItems.Add(data.Number);
                }
                frmAcc.Show();
                this.Hide();
                break;
            }
        }
 private void bgwk_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
 {
     Result result = e.Result as Result;
     if (result == null)
     {
         Err("不明的錯誤");
         return;
     }
     switch (result.Work)
     {
         case "init":
             if (result.Error)
             {
                 Err("初始化失敗");
                 this.Close();
             }
             else if (result.Argumment == null)
             {
                 Err("無法取得驗證碼");
             }
             else
             {
                 btnLogin.Enabled = true;
                 btnRecaptcha.Enabled = true;
                 pbCaptcha.Image = result.Argumment as Image;
             }
             break;
         case "recaptcha":
             btnRecaptcha.Enabled = true;
             if (result.Argumment == null)
                 Err("無法取得驗證碼");
             else
             {
                 pbCaptcha.Image = result.Argumment as Image;
                 txtCaptcha.Clear();
                 txtCaptcha.Focus();
             }
             break;
         case "login":
             if (result.Error)
             {
                 btnRecaptcha_Click(null, null);
                 Err("登入失敗\n錯誤訊息:" + result.Argumment);
                 btnLogin.Enabled = true;
             }
             else
             {
                 bgwk.RunWorkerAsync(new string[] { "list" });
             }
             break;
         case "list":
             if (result.Error)
             {
                 Err("無法取得帳號列表");
                 Application.Exit();
             }
             List<BeanfunGameAccountData> list = (List<BeanfunGameAccountData>)result.Argumment;
             Form_Account frmAcc = new Form_Account(bf);
             foreach (BeanfunGameAccountData data in list)
             {
                 ListViewItem lvi = frmAcc.lstAccount.Items.Add(data.Name);
                 lvi.SubItems.Add(data.Account);
                 lvi.SubItems.Add(data.Number);
             }
             frmAcc.Show();
             this.Hide();
             break;
     }
 }