Exemple #1
0
        private void AddMonitorMessage(string Channel, string Message, bool highlight, int serverID)
        {
            if (panel.InvokeRequired)
            {
                UpdateMonitorDelegate umd = new UpdateMonitorDelegate(AddMonitorMessage);
                panel.Invoke(umd, new object[] { Channel, Message, highlight, serverID });
            }
            else
            {
                DateTime     now = DateTime.Now;
                ListViewItem lvi = new ListViewItem(now.ToString());

                lvi.SubItems.Add(Channel);
                lvi.SubItems.Add(Message);
                lvi.SubItems.Add(serverID.ToString());

                if (highlight == true)
                {
                    lvi.ForeColor = System.Drawing.ColorTranslator.FromHtml(monitorChannels.MonitorHighliteColor);
                }

                listMonitor.Items.Add(lvi);


                //scroll the listview to the bottom
                listMonitor.EnsureVisible(listMonitor.Items.Count - 1);
            }
        }
        //OVR基于打分器的数量实例化打分器管理类,实例化网络通信类
        private void frmOVREQIPadMark_Load(object sender, EventArgs e)
        {
            //开启主裁动作分监控服务
            ServiceManager.EventMonitorServiceIsOnline += new MonitorServiceIsOnlineHandler(NotifyMonitorStatus);
            ServiceManager.Start();
            updateMonitorDelegate = this.MonitorUpdate;

            //启动自动刷新JudgePanel的Timer
            initTimer();

            //更新当前运动员姓名
            lb_CurrentRider.Text = RegisterName;

            //获取舞步列表
            m_dtMovementList = GVAR.g_EQDBManager.GetMatchMovementList(m_iCurMatchID);
            string m_strConfigJudge = GVAR.g_EQDBManager.GetMatchConfigJudge(m_iCurMatchConfigID);

            //Set Judge count.
            m_strArrJugdes = m_strConfigJudge.Split(',');
            //将callback实例(frm自身,frm实现了callback接口)和裁判名数组传入
            m_judgeMgr = new JudgePanelMgr(this, m_strArrJugdes);

            //显示judge状态列表
            m_dtJudgeStatus           = new System.Data.DataTable();
            m_dtJudgeStatus.TableName = "JudgeStatus";
            m_dtJudgeStatus.Columns.Add("F_JudgeNum");
            m_dtJudgeStatus.Columns.Add("F_Judge");
            m_dtJudgeStatus.Columns.Add("F_Status");
            m_dtJudgeStatus.Columns.Add("F_CurMovement");
            int i = 1;

            foreach (string str in m_strArrJugdes)
            {
                m_dtJudgeStatus.Rows.Add(i++, str, "", 1);
            }
            this.dgvJudgeStatus.DataSource    = m_dtJudgeStatus;
            dgvJudgeStatus.Columns[0].Visible = false;
            dgvJudgeStatus.Columns[3].Visible = false;
            dgvJudgeStatus.Columns[1].Width   = 20;


            //Set net.
            m_netUdp = new NetUdp();
            m_netUdp.eventHandlerDataRecv += new EventHandler <eventArgsDataRecv>(_netUdp_eventHandlerDataRecv);

            //Start service.
            if (!m_netUdp.Open(m_iPort))
            {
                MessageBox.Show(m_netUdp.LastErrorMsg);
                return;
            }
        }
Exemple #3
0
        private void AddMonitorMessage(string Channel, string Message)
        {
            if (BottomPanel.InvokeRequired)
            {
                UpdateMonitorDelegate umd = new UpdateMonitorDelegate(AddMonitorMessage);
                BottomPanel.Invoke(umd, new object[] { Channel, Message });
            }
            else
            {
                DateTime now = DateTime.Now;
                ListViewItem lvi = new ListViewItem(now.ToString());

                lvi.SubItems.Add(Channel);
                lvi.SubItems.Add(Message);

                listMonitor.Items.Add(lvi);

                //scroll the listview to the bottom
                listMonitor.EnsureVisible(listMonitor.Items.Count - 1);

            }
        }