コード例 #1
0
        private void startMonitorBtn_Click(object sender, EventArgs e)
        {
            if (monitorListView.Items.Count == 0)
            {
                return;
            }

            m_oNetDemo.m_cycleMonitorInfo = new GeneralDef.CycleMonitorInfo();
            this.stopMonitorBtn.Enabled   = true;
            this.startMonitorBtn.Enabled  = false;

            this.startMonitorBtn.Enabled  = false;
            this.addAllMonitorBtn.Enabled = false;
            this.addOneMonitorBtn.Enabled = false;
            this.delAllMonitorBtn.Enabled = false;
            this.delOneMonitorBtn.Enabled = false;

            foreach (ListViewItem item in monitorListView.Items)
            {
                string strIP      = item.SubItems[0].Text;
                int    iChannelID = Convert.ToInt32(item.SubItems[1].Text);

                for (int i = 0; i < m_oNetDemo.getDeviceInfoList().Count; i++)
                {
                    if (strIP != m_oNetDemo.getDeviceInfoList()[i].m_ip)
                    {
                        continue;
                    }

                    for (int j = 0; j < m_oNetDemo.getDeviceInfoList()[i].m_channelInfoList.Count; j++)
                    {
                        if (iChannelID == m_oNetDemo.getDeviceInfoList()[i].m_channelInfoList[j].m_devVideoChlInfo.dwChannelID)
                        {
                            GeneralDef.CycleMonitorInfo.CYCLE_MONITOR_CHANNEL_INFO_S cycleMonitorChannelInfo;
                            cycleMonitorChannelInfo.channelID   = iChannelID;
                            cycleMonitorChannelInfo.devhandle   = m_oNetDemo.getDeviceInfoList()[i].m_lpDevHandle;
                            cycleMonitorChannelInfo.deviceIndex = i;
                            m_oNetDemo.m_cycleMonitorInfo.channelInfoList.Add(cycleMonitorChannelInfo);
                            break;
                        }
                    }

                    break;// Not Found
                }
            }

            m_oNetDemo.m_cycleMonitorInfo.monitorCount = monitorListView.Items.Count;
            m_oNetDemo.m_cycleMonitorInfo.monitorType  = m_iMonitorType;
            m_oNetDemo.m_cycleMonitorInfo.intervalTime = m_iIntervalTime;
            m_oNetDemo.m_cycleMonitorInfo.panelNo      = m_iPanelNo;

            m_oNetDemo.startCycleMonitorThread();
        }