using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using WindowsFormsApp1.utils; using WindowsFormsApp1.entity.tb; using WindowsFormsApp1.utils.ui; namespace WindowsFormsApp1 { public partial class Login : Form { public static Dictionary loginContainer= new Dictionary (); //获取登录表单 private TBLogin GetLoginForm(int position) { if (loginContainer.ContainsKey(position)) { return loginContainer[position]; } loginContainer.Add(position,new TBLogin(position)); return loginContainer[position]; } public Login() { InitializeComponent(); this.label2.ForeColor = ColorUtil.GetThemeColor(); this.label4.ForeColor = ColorUtil.GetThemeColor(); this.label5.ForeColor = ColorUtil.GetThemeColor(); this.label6.ForeColor = ColorUtil.GetThemeColor(); this.label8.ForeColor = ColorUtil.GetThemeColor(); InitData(); } private void setItemData(TBAccountLogin account,Button loginBtn,Label state,Label reLogin,Label deleteLabel) { if (account != null) { loginBtn.Text = account.NickName; loginBtn.Enabled = false; if (account.Login) { state.Text = "登录成功"; state.ForeColor = Color.Green; reLogin.Visible = true; } else { state.Text = "已失效"; state.ForeColor = Color.Red; reLogin.Visible = true; } deleteLabel.Visible = true; } else { loginBtn.Enabled = true; loginBtn.Text = "点击登录"; state.Text = "未登录"; reLogin.Visible =false; state.ForeColor = System.Drawing.SystemColors.ControlText; deleteLabel.Visible = false; } } private void InitData() { Dictionary map= Constant.tbAccountMap; //第一个淘宝号 if (map.ContainsKey(1)&&map[1]!=null)//之前存在信息 { setItemData(map[1],this.buttonLogin1, this.labelState1, this.labelReLogin1,this.label2); } else { setItemData(null, this.buttonLogin1, this.labelState1, this.labelReLogin1, this.label2); } if (map.ContainsKey(2) && map[2] != null)//之前存在信息 { setItemData(map[2], this.buttonLogin2, this.labelState2, this.labelReLogin2, this.label4); } else { setItemData(null, this.buttonLogin2, this.labelState2, this.labelReLogin2, this.label4); } if (map.ContainsKey(3) && map[3] != null)//之前存在信息 { setItemData(map[3], this.buttonLogin3, this.labelState3, this.labelReLogin3, this.label5); } else { setItemData(null, this.buttonLogin3, this.labelState3, this.labelReLogin3, this.label5); } if (map.ContainsKey(4) && map[4] != null)//之前存在信息 { setItemData(map[4], this.buttonLogin4, this.labelState4, this.labelReLogin4, this.label6); } else { setItemData(null, this.buttonLogin4, this.labelState4, this.labelReLogin4, this.label6); } if (map.ContainsKey(5) && map[5] != null)//之前存在信息 { setItemData(map[5], this.buttonLogin5, this.labelState5, this.labelReLogin5, this.label8); } else { setItemData(null, this.buttonLogin5, this.labelState5, this.labelReLogin5, this.label8); } } private void refresh() { InitData(); } private void showLogin(int p) { TBLogin tbLogin= GetLoginForm(p); if (!tbLogin.HasShown) { TBLoginSuccessDelegate loginSuccess = refresh; tbLogin.SetTBLoginSuccess(loginSuccess); tbLogin.Show(); } else { tbLogin.ReLogin(); } } //登录 private void login1_Click(object sender, EventArgs e) { showLogin(1); } private void login2_Click(object sender, EventArgs e) { showLogin(2); } private void login3_Click(object sender, EventArgs e) { showLogin(3); } private void login4_Click(object sender, EventArgs e) { showLogin(4); } private void login5_Click(object sender, EventArgs e) { showLogin(5); } //重新登录 private void relogin1_Click(object sender, EventArgs e) { showLogin(1); } private void relogin2_Click(object sender, EventArgs e) { showLogin(2); } private void relogin3_Click(object sender, EventArgs e) { showLogin(3); } private void relogin4_Click(object sender, EventArgs e) { showLogin(4); } private void relogin5_Click(object sender, EventArgs e) { showLogin(5); } private void deleteAccount(int p) { TBAccountManager.Delete(p); refresh(); } private void label2_Click(object sender, EventArgs e) { deleteAccount(1); } private void label4_Click(object sender, EventArgs e) { deleteAccount(2); } private void label5_Click(object sender, EventArgs e) { deleteAccount(3); } private void label6_Click(object sender, EventArgs e) { deleteAccount(4); } private void label8_Click(object sender, EventArgs e) { deleteAccount(5); } } }