⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.cs

📁 该项目实现在.net 2003上
💻 CS
📖 第 1 页 / 共 2 页
字号:
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using System.Threading;
using System.Diagnostics;

using ctd.E1Analyzer.SerialCommIOPacket;
using ctd.E1Analyzer.LinkLayHandlerPacket;
using ctd.E1Analyzer.EquipAndPerformInfoPacket;
using ctd.E1Analyzer.GlobalConstant;

namespace SmartE1Analyzer
{
	/// <summary>
	/// frmMain 的摘要说明。
	/// </summary>
	public class frmMain : System.Windows.Forms.Form
	{
		//
		private System.Windows.Forms.MainMenu mainMenu;
		private System.Windows.Forms.MenuItem mainMenu_System;
		private System.Windows.Forms.MenuItem mainMenu_System_CommConfig;
		private System.Windows.Forms.MenuItem mainMenu_System_CircuitInfoConfig;
		private System.Windows.Forms.MenuItem mainMenu_Control;
		private System.Windows.Forms.MenuItem mainMenu_Control_ClearDataInEquip;
		private System.Windows.Forms.MenuItem mainMenu_DataManage_DataDelete;
		private System.Windows.Forms.PictureBox pictureBoxCover;
		private System.Windows.Forms.MenuItem mainMenu_Control_StartTest;
		private System.Windows.Forms.MenuItem mainMenu_DataAnalyze;
		private System.Windows.Forms.MenuItem mainMenu_DataAnalyze_G821;
		private System.Windows.Forms.MenuItem mainMenu_Control_EndTest;
		private System.Windows.Forms.MenuItem mainMenu_Control_OutServiceTest;
		private System.Windows.Forms.MenuItem mainMenu_DataAnalyze_HistoryErr;
		private System.Windows.Forms.MenuItem mainMenu_DataAnalyze_HistoryAlm;
		private System.Windows.Forms.PictureBox pictureBoxCompanyIcon;
		private System.Windows.Forms.ListView listViewShowComData;
        private System.Windows.Forms.MenuItem menuItem_Debug;
		private System.Windows.Forms.MenuItem mainMenu_System_Exit;

		public DataEntry m_CircuitInfo = new DataEntry(9);//电路配置信息(用于)
		private void CircuitInfoConfigParamInit()
		{
			byte [] data = new byte[9];
			data[0] = 0;
			data[1] = MsgCommandId.INFO_SET;

			data[2] = 1;
			data[3] = 0;
			
			data[4] = 1;
			data[5] = 0;
			data[6] = 0;
			data[7] = 0;
			data[8] = 0;
			m_CircuitInfo.szData = data;
		}
		/// <summary>
		/// 
		/// </summary>
		
		private bool startTest = false; //是否启动开始测试标志
		private bool stopThread = false;//worker 线程运行标志
		
		public bool m_bStartTest
		{
			set{startTest = value;}
			get{return startTest;}
		}
		public bool m_bStopThread
		{
			set{stopThread = value;}
			get{return stopThread;}
		}
		
		public EquipAndPerformInfo m_EquipAndPerformInfo = new EquipAndPerformInfo();
		public LinkLayerDataHandler m_DataHandler = new LinkLayerDataHandler();
		public Thread m_ComThread;
		
		
		public CommPort m_Comm;// = new CommPort(ComNo,BaudRate);//定义串行口对象
        //
		//线程入口点 
		public void EntryPoint()
		{   
			try
			{
				while(!m_bStopThread)
				{
					//从串口读取数据
					byte [] recData = m_Comm.Read();
					if(recData != null && recData.Length > 0)
					{
						m_DataHandler.AddBytesToTail(recData);
					}
					else
					{
						Thread.Sleep(20);
					}
					//分析串口数据
					while(true)
					{
						byte [] oneFrame = m_DataHandler.GetOneFrameFromRecBytesList();
						
						if(oneFrame == null || oneFrame.Length == 0)
						{
							break;
						}
						else
						{
//#if DEBUG
							//InsertItemToDataList(0,oneFrame);//
//#endif
							m_EquipAndPerformInfo.CurFrame = oneFrame;
							byte [] ackFrame = m_EquipAndPerformInfo.DecodeCurFrame();
							if(ackFrame != null)
							{

								DataEntry dataEntry = new DataEntry(ackFrame.Length);
								dataEntry.szData = ackFrame;
								m_DataHandler.AddOneFrameToSndDataList(dataEntry);
//#if DEBUG
								//InsertItemToDataList(1,ackFrame);//
//#endif
							}
						}
						Thread.Sleep(0);
					}
                
					//从发送队列中获得一帧数据,并写入串口
					while(m_DataHandler.m_SndDataList.Count !=0 )
					{
						byte [] sndData = m_DataHandler.GetOneFrameFromSndDataList();
						m_Comm.Write(sndData);
						Thread.Sleep(20);//如果有两个帧,则有帧间隔
					    //MessageBox.Show("发送一帧数据");
					}
					Thread.Sleep(20);
				
				}
			}
			catch(Exception e)
			{
				//Debug.WriteLine(e.Message);
				MessageBox.Show("Work Thread Existing" + e.Message);
			}
			finally
			{
				m_Comm.Close();
				m_bStopThread = true;
			}
			Debug.WriteLine("--------Work Thread Existing");
			//return;
		}
		//
        
		public frmMain()
		{
			//
			// Windows 窗体设计器支持所必需的
			//
			InitializeComponent();
            this.m_bStopThread = false;
			//
			// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
			//
		}
		/// <summary>
		/// 清理所有正在使用的资源。
		/// </summary>
		protected override void Dispose( bool disposing )
		{
			base.Dispose( disposing );
		}

		#region Windows 窗体设计器生成的代码
		/// <summary>
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改
		/// 此方法的内容。
		/// </summary>
		private void InitializeComponent()
		{
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(frmMain));
			this.mainMenu = new System.Windows.Forms.MainMenu();
			this.mainMenu_System = new System.Windows.Forms.MenuItem();
			this.mainMenu_System_CommConfig = new System.Windows.Forms.MenuItem();
			this.mainMenu_System_CircuitInfoConfig = new System.Windows.Forms.MenuItem();
			this.mainMenu_Control = new System.Windows.Forms.MenuItem();
			this.mainMenu_Control_StartTest = new System.Windows.Forms.MenuItem();
			this.mainMenu_Control_EndTest = new System.Windows.Forms.MenuItem();
			this.mainMenu_Control_OutServiceTest = new System.Windows.Forms.MenuItem();
			this.mainMenu_Control_ClearDataInEquip = new System.Windows.Forms.MenuItem();
			this.menuItem_Debug = new System.Windows.Forms.MenuItem();
			this.mainMenu_DataAnalyze = new System.Windows.Forms.MenuItem();
			this.mainMenu_DataAnalyze_G821 = new System.Windows.Forms.MenuItem();
			this.mainMenu_DataAnalyze_HistoryErr = new System.Windows.Forms.MenuItem();
			this.mainMenu_DataAnalyze_HistoryAlm = new System.Windows.Forms.MenuItem();
			this.mainMenu_DataManage_DataDelete = new System.Windows.Forms.MenuItem();
			this.pictureBoxCompanyIcon = new System.Windows.Forms.PictureBox();
			this.pictureBoxCover = new System.Windows.Forms.PictureBox();
			this.listViewShowComData = new System.Windows.Forms.ListView();
			this.mainMenu_System_Exit = new System.Windows.Forms.MenuItem();
			// 
			// mainMenu
			// 
			this.mainMenu.MenuItems.Add(this.mainMenu_System);
			this.mainMenu.MenuItems.Add(this.mainMenu_Control);
			this.mainMenu.MenuItems.Add(this.mainMenu_DataAnalyze);
			// 
			// mainMenu_System
			// 
			this.mainMenu_System.Enabled = ((bool)(resources.GetObject("mainMenu_System.Enabled")));
			this.mainMenu_System.MenuItems.Add(this.mainMenu_System_CommConfig);
			this.mainMenu_System.MenuItems.Add(this.mainMenu_System_CircuitInfoConfig);
			this.mainMenu_System.MenuItems.Add(this.mainMenu_System_Exit);
			this.mainMenu_System.Text = resources.GetString("mainMenu_System.Text");
			// 
			// mainMenu_System_CommConfig
			// 
			this.mainMenu_System_CommConfig.Enabled = ((bool)(resources.GetObject("mainMenu_System_CommConfig.Enabled")));
			this.mainMenu_System_CommConfig.Text = resources.GetString("mainMenu_System_CommConfig.Text");
			this.mainMenu_System_CommConfig.Click += new System.EventHandler(this.mainMenu_System_CommConfig_Click);
			// 
			// mainMenu_System_CircuitInfoConfig
			// 
			this.mainMenu_System_CircuitInfoConfig.Enabled = ((bool)(resources.GetObject("mainMenu_System_CircuitInfoConfig.Enabled")));
			this.mainMenu_System_CircuitInfoConfig.Text = resources.GetString("mainMenu_System_CircuitInfoConfig.Text");
			this.mainMenu_System_CircuitInfoConfig.Click += new System.EventHandler(this.mainMenuSystemCircuitInfoConfig_Click);
			// 
			// mainMenu_Control
			// 
			this.mainMenu_Control.Enabled = ((bool)(resources.GetObject("mainMenu_Control.Enabled")));
			this.mainMenu_Control.MenuItems.Add(this.mainMenu_Control_StartTest);
			this.mainMenu_Control.MenuItems.Add(this.mainMenu_Control_EndTest);
			this.mainMenu_Control.MenuItems.Add(this.mainMenu_Control_OutServiceTest);
			this.mainMenu_Control.MenuItems.Add(this.mainMenu_Control_ClearDataInEquip);
			this.mainMenu_Control.MenuItems.Add(this.menuItem_Debug);
			this.mainMenu_Control.Text = resources.GetString("mainMenu_Control.Text");
			// 
			// mainMenu_Control_StartTest
			// 
			this.mainMenu_Control_StartTest.Enabled = ((bool)(resources.GetObject("mainMenu_Control_StartTest.Enabled")));
			this.mainMenu_Control_StartTest.Text = resources.GetString("mainMenu_Control_StartTest.Text");
			this.mainMenu_Control_StartTest.Click += new System.EventHandler(this.mainMenu_Control_StartTest_Click);
			// 
			// mainMenu_Control_EndTest
			// 
			this.mainMenu_Control_EndTest.Enabled = ((bool)(resources.GetObject("mainMenu_Control_EndTest.Enabled")));
			this.mainMenu_Control_EndTest.Text = resources.GetString("mainMenu_Control_EndTest.Text");
			this.mainMenu_Control_EndTest.Click += new System.EventHandler(this.mainMenu_Control_EndTest_Click);
			// 
			// mainMenu_Control_OutServiceTest
			// 
			this.mainMenu_Control_OutServiceTest.Enabled = ((bool)(resources.GetObject("mainMenu_Control_OutServiceTest.Enabled")));
			this.mainMenu_Control_OutServiceTest.Text = resources.GetString("mainMenu_Control_OutServiceTest.Text");
			this.mainMenu_Control_OutServiceTest.Click += new System.EventHandler(this.mainMenu_Control_OutServiceTest_Click);
			// 
			// mainMenu_Control_ClearDataInEquip
			// 
			this.mainMenu_Control_ClearDataInEquip.Enabled = ((bool)(resources.GetObject("mainMenu_Control_ClearDataInEquip.Enabled")));
			this.mainMenu_Control_ClearDataInEquip.Text = resources.GetString("mainMenu_Control_ClearDataInEquip.Text");
			this.mainMenu_Control_ClearDataInEquip.Click += new System.EventHandler(this.mainMenu_Control_ClearDataInEquip_Click);
			// 
			// menuItem_Debug
			// 
			this.menuItem_Debug.Enabled = ((bool)(resources.GetObject("menuItem_Debug.Enabled")));
			this.menuItem_Debug.Text = resources.GetString("menuItem_Debug.Text");
			this.menuItem_Debug.Click += new System.EventHandler(this.menuItem_Debug_Click);
			// 
			// mainMenu_DataAnalyze
			// 
			this.mainMenu_DataAnalyze.Enabled = ((bool)(resources.GetObject("mainMenu_DataAnalyze.Enabled")));
			this.mainMenu_DataAnalyze.MenuItems.Add(this.mainMenu_DataAnalyze_G821);
			this.mainMenu_DataAnalyze.MenuItems.Add(this.mainMenu_DataAnalyze_HistoryErr);
			this.mainMenu_DataAnalyze.MenuItems.Add(this.mainMenu_DataAnalyze_HistoryAlm);
			this.mainMenu_DataAnalyze.MenuItems.Add(this.mainMenu_DataManage_DataDelete);
			this.mainMenu_DataAnalyze.Text = resources.GetString("mainMenu_DataAnalyze.Text");
			// 
			// mainMenu_DataAnalyze_G821
			// 
			this.mainMenu_DataAnalyze_G821.Enabled = ((bool)(resources.GetObject("mainMenu_DataAnalyze_G821.Enabled")));
			this.mainMenu_DataAnalyze_G821.Text = resources.GetString("mainMenu_DataAnalyze_G821.Text");
			this.mainMenu_DataAnalyze_G821.Click += new System.EventHandler(this.mainMenu_DataAnalyze_G821_Click);
			// 
			// mainMenu_DataAnalyze_HistoryErr
			// 
			this.mainMenu_DataAnalyze_HistoryErr.Enabled = ((bool)(resources.GetObject("mainMenu_DataAnalyze_HistoryErr.Enabled")));
			this.mainMenu_DataAnalyze_HistoryErr.Text = resources.GetString("mainMenu_DataAnalyze_HistoryErr.Text");
			this.mainMenu_DataAnalyze_HistoryErr.Click += new System.EventHandler(this.mainMenu_DataAnalyze_HistoryErr_Click);
			// 
			// mainMenu_DataAnalyze_HistoryAlm
			// 
			this.mainMenu_DataAnalyze_HistoryAlm.Enabled = ((bool)(resources.GetObject("mainMenu_DataAnalyze_HistoryAlm.Enabled")));
			this.mainMenu_DataAnalyze_HistoryAlm.Text = resources.GetString("mainMenu_DataAnalyze_HistoryAlm.Text");
			this.mainMenu_DataAnalyze_HistoryAlm.Click += new System.EventHandler(this.mainMenu_DataAnalyze_HistoryAlm_Click);
			// 
			// mainMenu_DataManage_DataDelete
			// 
			this.mainMenu_DataManage_DataDelete.Enabled = ((bool)(resources.GetObject("mainMenu_DataManage_DataDelete.Enabled")));
			this.mainMenu_DataManage_DataDelete.Text = resources.GetString("mainMenu_DataManage_DataDelete.Text");
			this.mainMenu_DataManage_DataDelete.Click += new System.EventHandler(this.mainMenu_DataManage_DataDelete_Click);
			// 
			// pictureBoxCompanyIcon
			// 
			this.pictureBoxCompanyIcon.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxCompanyIcon.Image")));
			this.pictureBoxCompanyIcon.Location = ((System.Drawing.Point)(resources.GetObject("pictureBoxCompanyIcon.Location")));
			this.pictureBoxCompanyIcon.Size = ((System.Drawing.Size)(resources.GetObject("pictureBoxCompanyIcon.Size")));
			this.pictureBoxCompanyIcon.SizeMode = ((System.Windows.Forms.PictureBoxSizeMode)(resources.GetObject("pictureBoxCompanyIcon.SizeMode")));
			this.pictureBoxCompanyIcon.Text = resources.GetString("pictureBoxCompanyIcon.Text");
			this.pictureBoxCompanyIcon.Visible = ((bool)(resources.GetObject("pictureBoxCompanyIcon.Visible")));
			// 
			// pictureBoxCover
			// 
			this.pictureBoxCover.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxCover.Image")));
			this.pictureBoxCover.Location = ((System.Drawing.Point)(resources.GetObject("pictureBoxCover.Location")));
			this.pictureBoxCover.Size = ((System.Drawing.Size)(resources.GetObject("pictureBoxCover.Size")));
			this.pictureBoxCover.SizeMode = ((System.Windows.Forms.PictureBoxSizeMode)(resources.GetObject("pictureBoxCover.SizeMode")));
			this.pictureBoxCover.Text = resources.GetString("pictureBoxCover.Text");
			this.pictureBoxCover.Visible = ((bool)(resources.GetObject("pictureBoxCover.Visible")));
			// 
			// listViewShowComData
			// 
			this.listViewShowComData.Enabled = ((bool)(resources.GetObject("listViewShowComData.Enabled")));
			this.listViewShowComData.Location = ((System.Drawing.Point)(resources.GetObject("listViewShowComData.Location")));
			this.listViewShowComData.Size = ((System.Drawing.Size)(resources.GetObject("listViewShowComData.Size")));
			this.listViewShowComData.Text = resources.GetString("listViewShowComData.Text");
			this.listViewShowComData.Visible = ((bool)(resources.GetObject("listViewShowComData.Visible")));
			this.listViewShowComData.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.listViewShowComData_ColumnClick);
			// 
			// mainMenu_System_Exit
			// 
			this.mainMenu_System_Exit.Enabled = ((bool)(resources.GetObject("mainMenu_System_Exit.Enabled")));
			this.mainMenu_System_Exit.Text = resources.GetString("mainMenu_System_Exit.Text");
			this.mainMenu_System_Exit.Click += new System.EventHandler(this.mainMenu_System_Exit_Click);
			// 
			// frmMain
			// 
			this.ClientSize = ((System.Drawing.Size)(resources.GetObject("$this.ClientSize")));
			this.Controls.Add(this.listViewShowComData);
			this.Controls.Add(this.pictureBoxCover);
			this.Controls.Add(this.pictureBoxCompanyIcon);
			this.Enabled = ((bool)(resources.GetObject("$this.Enabled")));
			this.Font = ((System.Drawing.Font)(resources.GetObject("$this.Font")));
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
			this.Location = ((System.Drawing.Point)(resources.GetObject("$this.Location")));
			this.Menu = this.mainMenu;
			this.Text = resources.GetString("$this.Text");
			this.Visible = ((bool)(resources.GetObject("$this.Visible")));
			this.Closing += new System.ComponentModel.CancelEventHandler(this.frmMain_Closing);
			this.Load += new System.EventHandler(this.frmMain_Load);

		}
		#endregion

		/// <summary>
		/// 应用程序的主入口点。
		/// </summary>

		static void Main() 
		{
			
			Application.Run(new frmMain());
		}
        /// <summary>
        /// 电路和接口信息设置
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
		private void mainMenuSystemCircuitInfoConfig_Click(object sender, System.EventArgs e)
		{
			Cursor.Current = Cursors.WaitCursor;
			frmCircuitInfoConfig dlg = new frmCircuitInfoConfig(this);
			
			dlg.Show();
			Cursor.Current = Cursors.Default;

		}
        /// <summary>
        /// 启动测试
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
		private void mainMenu_Control_StartTest_Click(object sender, System.EventArgs e)
		{
			Cursor.Current = Cursors.WaitCursor;
			//测试模式和测试图案选择
			frmTestModeSel dlg = new frmTestModeSel(this);
			DialogResult dr = dlg.ShowDialog();
			if (dr == DialogResult.Cancel)
			{
				return;
			}
			//打开串口

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -