/// <summary> /// 初始化信息 /// </summary> void InitData() { if (base.IsHandleCreated) { base.Invoke(new EventHandler(delegate { btnOk.Enabled = false; buttonEx2.Enabled = false; })); } if (btnOk.IsHandleCreated) { btnOk.Invoke(new EventHandler(delegate { btnOk.Enabled = false; })); } if (buttonEx2.IsHandleCreated) { buttonEx2.Invoke(new EventHandler(delegate { buttonEx2.Enabled = false; })); } //else //{ // base.Invoke(new EventHandler(delegate // { // btnOk.Enabled = false; // buttonEx2.Enabled = false; // })); //} bool isAll = true; //1、初始化的基本信息2、各基本信息所占总初始化信息的百分比 //需要初始化的信息:商品分类10、商品条码20、商品40、支付方式10、基础信息类型,基础信息数据10、营业员10 try { int progressValue = this.progressBar1.Value; List <ThreadStruct> _list = new List <ThreadStruct>(); _list.Add(new ThreadStruct() { Desc = "数据库基本", Method = "InitDB", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "门店信息", Method = "Getbrninfo", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "商品分类", Method = "Getitemcls", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "商品条形码", Method = "Getbarcode", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "商品", Method = "Getiteminfo", Percent = 10 }); _list.Add(new ThreadStruct() { Desc = "商品价格", Method = "Getbraprc", Percent = 10 }); _list.Add(new ThreadStruct() { Desc = "商品库存", Method = "Getbrastock", Percent = 10 }); _list.Add(new ThreadStruct() { Desc = "基础信息类型", Method = "Getbasecode", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "基础信息数据", Method = "Getbase", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "营业员", Method = "Getoper", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "支付方式", Method = "Getpayinfo", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "快捷键", Method = "Getkey", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "促销规则", Method = "Getprule", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "促销", Method = "Getpmaster", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "促销详细", Method = "Getpdetail", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "组合商品", Method = "Getcomb", Percent = 5 }); _list.Add(new ThreadStruct() { Desc = "供应商", Method = "Getsup", Percent = 5 }); //_list.Add(new ThreadStruct() { Desc = "POS机设置", Method = "GetPosSet", Percent = 5 }); foreach (ThreadStruct ts in _list) { Thread.Sleep(500); if (ts.Method == "InitDB") { if (!Gfunc.InitDB()) { isAll = false; MessageBox.Show("更新" + ts.Desc + "时错误", Gattr.AppTitle); this.Invoke(new EventHandler(delegate { buttonEx2.Enabled = true; })); break; } } else { if (InvokeServices(ts.Method, true)) { progressValue = progressBar1.Value + ts.Percent; this.Invoke((MethodInvoker)(() => SetControlText("正在更新" + ts.Desc + "信息操作,已完成" + (progressValue) + "%", progressValue))); } else { isAll = false; MessageBox.Show("更新" + ts.Desc + "时错误", Gattr.AppTitle); this.Invoke(new EventHandler(delegate { buttonEx2.Enabled = true; })); break; } } } } catch (Exception ex) { LoggerHelper.Log("MsmkLogger", ex.ToString(), LogEnum.ExceptionLog); } finally { //Gattr.Bll.dbClose(); } if (isAll) { DialogResult = System.Windows.Forms.DialogResult.OK; } }