コード例 #1
0
 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() ? "保存成功" : "保存失败");
 }
コード例 #2
0
        public void Setup()
        {
            var connection = ServiceTestHelper.GetDatabaseConnection();

            configDataService = new ConfigDataService(connection);
        }
コード例 #3
0
        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
        }