📄 frmmain.cs
字号:
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 + -