public void RecvData(object sender, CEventSingleArgs <CEntitySoilData> e)
 {
     if (RecvedRTDSoilData != null)
     {
         RecvedRTDSoilData.Invoke(sender, e);
     }
 }
Exemple #2
0
        private void EHPageNumberChanged(object sender, CEventSingleArgs <int> e)
        {
            int separatorIndex = m_lablePageIndex.Text.IndexOf('/') + 1;
            int totalPage      = Int32.Parse(m_lablePageIndex.Text.Substring(separatorIndex, m_lablePageIndex.Text.Length - separatorIndex));

            m_lablePageIndex.Text = String.Format("页码:{0} / {1}", e.Value, totalPage);
        }
Exemple #3
0
 private void EHRecvRTD(object sender, CEventSingleArgs <CEntitySoilData> e)
 {
     // 如果更新失败,那么就添加
     if (!UpdateRTD(e.Value))
     {
         AddRTD(e.Value);
     }
 }
Exemple #4
0
 private void EHRecvRTDState(object sender, CEventSingleArgs <CEntityRealTime> e)
 {
     // 如果更新失败,那么就添加
     //if (!UpdateRTD(e.Value))
     //{
     //    AddRTD(e.Value);
     //}
     RefreshStationState_1(e.Value);
 }
        private void CReadAndSettingMgrForm_StationSelected(object sender, CEventSingleArgs <CEntityStation> e)
        {
            var station = e.Value;

            if (station == null)
            {
                return;
            }
        }
Exemple #6
0
 /// <summary>
 /// 用户登陆成功的事件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 public void EHUserModeChanged(object sender, CEventSingleArgs <bool> e)
 {
     this.ChangeUserMode(e.Value);
     this.MI_UserLogout.Enabled = true;
     // 开启定时器,用于检测过于一段时间,自己退出登陆
     m_timer.Start();
     if (UserModeChanged != null)
     {
         UserModeChanged(this, new CEventSingleArgs <bool>(e.Value));
     }
 }
Exemple #7
0
 public void EHSerialPortStateUpdated(object sender, CEventSingleArgs <CSerialPortState> arg)
 {
     if (arg.Value.PortType == EListeningProtType.SerialPort)
     {
         //  更新串口
         if (arg.Value.BNormal)
         {
             this.UpdateSerialPortState(arg.Value.PortNumber, EMsgState.ENormal);
         }
         else
         {
             this.UpdateSerialPortState(arg.Value.PortNumber, EMsgState.EError);
         }
     }
     else if (arg.Value.PortType == EListeningProtType.Port)
     {
         //  更新端口
     }
 }
Exemple #8
0
 /// <summary>
 /// 收到系统信息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></parParallel
 private void EH_Recv_New_System_Info(object sender, CEventSingleArgs <CTextInfo> e)
 {
     m_listFormSystemInfo.AddText(string.Format("{0} {1}", e.Value.Time.ToString("yyyy-MM-dd HH:mm:ss"), e.Value.Info), e.Value.EState);
 }
Exemple #9
0
 /// <summary>
 /// 收到告警信息
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void EH_Recv_New_Warning_Info(object sender, CEventSingleArgs <CTextInfo> e)
 {
     m_listFormWarningInfo.AddText(string.Format("{0} {1}", e.Value.Time.ToString("yyyy-MM-dd HH:mm:ss"), e.Value.Info), ETextMsgState.ENormal);
 }
Exemple #10
0
        /// <summary>
        /// 用户权限发生改变
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        public static void EHUserModeChanged(object sender, CEventSingleArgs <bool> args)
        {
            if (args.Value)
            {
                // 只处理由管理员退出为普通用户的情况
                return;
            }
            try
            {
                if (CurrentForm != null && CurrentForm.IsHandleCreated)
                {
                    // 提示,并强行退出当前对话框
                    string eventname = "FormClosing";

                    BindingFlags     mPropertyFlags   = BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic;
                    Type             controlType      = CurrentForm.GetType();
                    PropertyInfo     propertyInfo     = controlType.GetProperty("Events", mPropertyFlags);
                    BindingFlags     mFieldFlags      = BindingFlags.Static | BindingFlags.NonPublic;
                    EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(CurrentForm, null);
                    // From必须这样写EVENT_
                    FieldInfo fieldInfo = typeof(Form).GetField("EVENT_" + eventname.ToUpper(), mFieldFlags);

                    Delegate d = eventHandlerList[fieldInfo.GetValue(CurrentForm)];

                    if (d != null)
                    {
                        // 如果绑定了事件
                        EventInfo eventInfo = controlType.GetEvent(eventname);

                        //解除绑定
                        foreach (Delegate dx in d.GetInvocationList())
                        {
                            eventInfo.RemoveEventHandler(CurrentForm, dx);
                        }
                    }

                    MessageBox.Show("管理员权限过期,请重新登录");
                    CurrentForm.Close();
                    CurrentForm.DialogResult = DialogResult.Abort;
                    CurrentForm = null;
                    return;

                    #region 解绑定事件


                    //FieldInfo[] fields = typeof(Control).GetFields(BindingFlags.Static | BindingFlags.Instance | BindingFlags.NonPublic);
                    //foreach (FieldInfo fi in fields)
                    //{
                    //    Debug.WriteLine(string.Format("FieldName: {0}, Accessibility: {1}, Has Attributes: {2}.", fi.Name, fi.Attributes, fi.GetCustomAttributes(true).Length != 0));
                    //}

                    ////var fi = CurrentForm.GetType().GetEventField("FormClosing");
                    ////if (fi == null) return;
                    ////fi.SetValue(obj, null);
                    //
                    //if (CurrentForm == null) return;
                    //if (string.IsNullOrEmpty(eventname)) return;

                    //BindingFlags mPropertyFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static | BindingFlags.NonPublic;
                    //BindingFlags mFieldFlags = BindingFlags.Static | BindingFlags.NonPublic;
                    //Type controlType = CurrentForm.GetType();
                    //PropertyInfo propertyInfo = controlType.GetProperty("Events", mPropertyFlags);
                    //EventHandlerList eventHandlerList = (EventHandlerList)propertyInfo.GetValue(CurrentForm, null);
                    //FieldInfo fieldInfo = typeof(Form).GetField("Event" + "Load", mFieldFlags);
                    //Delegate d = eventHandlerList[fieldInfo.GetValue(CurrentForm)];



                    //if (d == null) return;
                    //EventInfo eventInfo = controlType.GetEvent(eventname);

                    //foreach (Delegate dx in d.GetInvocationList())
                    //    eventInfo.RemoveEventHandler(CurrentForm, dx);

                    ////EventInfo eventInfo = CurrentForm.GetType().GetEvent("FormClosing");


                    //FieldInfo f1 = typeof(Form).GetField("EventFormClosing", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.InvokeMethod | BindingFlags.Static | BindingFlags.FlattenHierarchy);
                    ////object obj = f1.GetValue(CurrentForm);
                    //PropertyInfo pi = CurrentForm.GetType().GetProperty("Events", BindingFlags.NonPublic | BindingFlags.Instance );
                    //EventHandlerList list = (EventHandlerList)pi.GetValue(CurrentForm, null);
                    ////list.RemoveHandler(obj, list[obj]);

                    //EventInfo[] events = CurrentForm.GetType().GetEvents(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

                    //for (int i = 0; i < events.Length; i++)
                    //{
                    //    EventInfo ei = events[i];

                    //    if (ei.Name == eventname)
                    //    {
                    //        FieldInfo fi = ei.DeclaringType.GetField("printPageHandler", BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
                    //        if (fi != null)
                    //        {
                    //            fi.SetValue(CurrentForm, null);
                    //        }

                    //        break;
                    //    }
                    //}

                    #endregion 解绑定事件
                }
            }
            catch
            {
            }
        }
 /// <summary>
 /// 收到系统信息消息,由外部程序发出
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="args"></param>
 public void EHRecvSystemInfo(object sender, CEventSingleArgs <CTextInfo> args)
 {
     this.AddInfo(args.Value.Info, args.Value.Time);
 }
 // 相应表格行数变化的事件
 private void EHItemAddedChanged(object sender, CEventSingleArgs <int> e)
 {
     m_labelLeft.Text       = String.Format("页码:{0} / {1}", m_listView.CurrentPageIndex, m_listView.TotalPage);
     m_labelPanelRight.Text = String.Format("共 {0} 条记录", e.Value);
 }
Exemple #13
0
        private void EHStationChanged(object sender, CEventSingleArgs <CEntityStation> e)
        {
            //如果为空,则不选择所有,如果不为空,更新站点类型复选框
            m_currentStation = e.Value;
            if (null == m_currentStation)
            {
                textBox_StationType.Text = "";
                cmb_AddDataType.Items.Clear(); //清空
                cmb_AddDataType.Text = "";
                chk_Water.Enabled    = false;
                chk_Voltage.Enabled  = false;
                chk_Rain.Enabled     = false;
            }
            else
            {
                cmb_AddDataType.Items.Clear();
                cmb_AddDataType.Text     = "";
                textBox_StationType.Text = CEnumHelper.StationTypeToUIStr(m_currentStation.StationType);
                // 根据站点类型,输入可选的数据类型
                switch (m_currentStation.StationType)
                {
                case EStationType.EHydrology:
                {
                    chk_Rain.Enabled    = true;
                    chk_Voltage.Enabled = true;
                    chk_Water.Enabled   = true;
                    // 水位站
                    //cmb_AddDataType.Items.Add(CS_AddData_Rain);
                    //cmb_AddDataType.Items.Add(CS_AddData_Water);
                    //cmb_AddDataType.Items.Add(CS_AddData_Voltage);

                    //cmb_AddDataType.Items.Add(CS_AddData_Rain + " " + CS_AddData_Water);
                    //cmb_AddDataType.Items.Add(CS_AddData_Rain + " " + CS_AddData_Voltage);
                    //cmb_AddDataType.Items.Add(CS_AddData_Water + " " + CS_AddData_Voltage);

                    //cmb_AddDataType.Items.Add(CS_AddData_Rain + " " + CS_AddData_Water + " " + CS_AddData_Voltage);
                }
                break;

                case EStationType.ERainFall:
                {
                    //雨量站
                    chk_Rain.Enabled    = true;
                    chk_Voltage.Enabled = true;
                    //cmb_AddDataType.Items.Add(CS_AddData_Rain);
                    //cmb_AddDataType.Items.Add(CS_AddData_Voltage);
                    //cmb_AddDataType.Items.Add(CS_AddData_Rain + " " + CS_AddData_Voltage);
                }
                break;

                case EStationType.ERiverWater:
                {
                    //水位站
                    chk_Voltage.Enabled = true;
                    chk_Water.Enabled   = true;
                    //cmb_AddDataType.Items.Add(CS_AddData_Water);
                    //cmb_AddDataType.Items.Add(CS_AddData_Voltage);
                    //cmb_AddDataType.Items.Add(CS_AddData_Water + " " + CS_AddData_Voltage);
                }
                break;
                }
            }
        }
Exemple #14
0
 private void EH_UserCountChanged(object sender, CEventSingleArgs <int> e)
 {
     labelUserCount.Text = String.Format("共{0}个用户", e.Value);
 }