private void Save_OnClick(object sender, RoutedEventArgs e) { _configModel.QiNiuAccessKey = qinAK.Text; _configModel.QiNiuSecretKey = qinSK.Text; _configModel.QiNiuSpace = qinfilework.Text; _configModel.DownloadUrl = txt_DownloadUrl.Text; MessageBox.Show(ConfigDataService.SaveConfigData() ? "保存成功" : "保存失败"); }
public void Setup() { var connection = ServiceTestHelper.GetDatabaseConnection(); configDataService = new ConfigDataService(connection); }
protected void btnItem_SelectedChanged(object sender, EventArgs e) { #region 判断当前是否存在打开的插件 if (currentBtn != null && currentBtn.Equals(sender)) { return; } else { } if (currentPluginForm != null) { if (currentPluginForm.CloseForm() == DialogResult.Cancel) { (sender as NavBtnItem).Selected = false; return; } } #endregion currentBtn = sender as NavBtnItem; SetPrograss("就绪", " ", 0); foreach (NavBtnItem item in flowLayoutPanel1.Controls) { item.Selected = false; } (sender as NavBtnItem).Selected = true; PluginModel pp = (sender as NavBtnItem).Tag as PluginModel; Assembly ass = Assembly.LoadFrom(pp.LibPath); Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath); string pluginClassName = ass.GetName().Name + "." + (sender as NavBtnItem).Tag2; string guid = (sender as NavBtnItem).Tag2.ToString(); //foreach (PluginModel pm in pp.Items) //{ // if (guid == pm.GUID) // { // pluginClassName = pm.Namesapce + "." + pm.Name; // break; // } //} Type tp = ass.GetType(pluginClassName); if (tp == null) { MessageBox.Show("插件加载失败:" + pluginClassName); return; } Environment.CurrentDirectory = System.IO.Path.GetDirectoryName(pp.LibPath); Form pluginClass = Activator.CreateInstance(tp) as Form; if (pluginClass is PluginLib.BaseForm) { currentPluginForm = pluginClass as PluginLib.BaseForm; } else { currentPluginForm = null; } pluginClass.TopLevel = false; pluginClass.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right | AnchorStyles.Bottom; pluginClass.Dock = DockStyle.Top; pluginClass.FormBorderStyle = FormBorderStyle.None; panel4.Controls.Clear(); panel4.Controls.Add(pluginClass); pluginClass.Visible = true; //pluginClassName = pp.Namespace + ".Plugin"; tp = ass.GetType(pluginClassName); tp = tp.BaseType; #region 为plugin.cs文件中的消息处理事件添加委托方法 EventInfo eiMessage = tp.GetEvent("message"); eiMessage.RemoveEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage")); eiMessage.AddEventHandler(this, Delegate.CreateDelegate(eiMessage.EventHandlerType, this, "WriteMessage")); EventInfo eiClear = tp.GetEvent("clear"); eiClear.RemoveEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage")); eiClear.AddEventHandler(this, Delegate.CreateDelegate(eiClear.EventHandlerType, this, "ClearMessage")); EventInfo eiPushData = tp.GetEvent("pushData"); eiPushData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData")); eiPushData.AddEventHandler(this, Delegate.CreateDelegate(eiPushData.EventHandlerType, this, "PushData")); EventInfo eiPopupData = tp.GetEvent("popupData"); eiPopupData.RemoveEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData")); eiPopupData.AddEventHandler(this, Delegate.CreateDelegate(eiPopupData.EventHandlerType, this, "PopupData")); EventInfo eiPrograss = tp.GetEvent("PrograssInfo"); eiPrograss.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss")); eiPrograss.AddEventHandler(this, Delegate.CreateDelegate(eiPrograss.EventHandlerType, this, "SetPrograss")); EventInfo eiPrograssMaxValue = tp.GetEvent("ProgressMaxValue"); eiPrograssMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue")); eiPrograssMaxValue.AddEventHandler(this, Delegate.CreateDelegate(eiPrograssMaxValue.EventHandlerType, this, "SetProgressMaxValue")); EventInfo resetProgressMaxValue = tp.GetEvent("resetProgressMaxValue"); resetProgressMaxValue.RemoveEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue")); resetProgressMaxValue.AddEventHandler(this, Delegate.CreateDelegate(resetProgressMaxValue.EventHandlerType, this, "ResetProgressMaxValue")); EventInfo eiLogOpt = tp.GetEvent("LogOperatorInfo"); eiLogOpt.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo")); eiLogOpt.AddEventHandler(this, Delegate.CreateDelegate(eiLogOpt.EventHandlerType, this, "LogOperatorInfo")); EventInfo eiLogSystem = tp.GetEvent("LogSystemInfo"); eiLogSystem.RemoveEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo")); eiLogSystem.AddEventHandler(this, Delegate.CreateDelegate(eiLogSystem.EventHandlerType, this, "LogSystemInfo")); #endregion #region 递通讯方式信息 CommunicationData data = ConfigDataService.GetCommunicationData(); Object pgClass = Activator.CreateInstance(tp); MethodInfo methodInfo = tp.GetMethod("SetSerialPort"); methodInfo.Invoke(pgClass, new object[] { data.Serialport, data.Baudrate }); methodInfo = tp.GetMethod("SetNetwork"); methodInfo.Invoke(pgClass, new object[] { data.IP, data.Localport, data.Remoteport }); #endregion }