public void RecvData(object sender, CEventSingleArgs <CEntitySoilData> e) { if (RecvedRTDSoilData != null) { RecvedRTDSoilData.Invoke(sender, e); } }
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); }
private void EHRecvRTD(object sender, CEventSingleArgs <CEntitySoilData> e) { // 如果更新失败,那么就添加 if (!UpdateRTD(e.Value)) { AddRTD(e.Value); } }
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; } }
/// <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)); } }
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) { // 更新端口 } }
/// <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); }
/// <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); }
/// <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); }
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; } } }
private void EH_UserCountChanged(object sender, CEventSingleArgs <int> e) { labelUserCount.Text = String.Format("共{0}个用户", e.Value); }