using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Core.ONH.Collection.comm; namespace Core.ONH.Collection.Receive { public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); SerialPortHelper.Instance().ShowMessage = ( s) => { SafeRefreshControl(txtMessageShow, () => { if (txtMessageShow.Text.Length > 10000) { txtMessageShow.Text = ""; } txtMessageShow.Text = DateTime.Now.ToString("HH:mm:ss") + " " + s + "\r\n" + txtMessageShow.Text; }); }; } private void msMain_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { switch (e.ClickedItem.Name) { case "tsmComSetting"://串口设置窗口 FrmSetting setCom = new FrmSetting(); setCom.ShowDialog(); break; case "tsmClearData"://数据库连接设置 txtMessageShow.Text = ""; break; case "tsmExit"://退出 Close(); break; } } /// /// 安全刷新界面控件 当为子线程时委托刷新界面 /// /// /// public void SafeRefreshControl(Control control, Action action) { if (control.InvokeRequired) { control.Invoke(action); } else action(); } private void FrmMain_Load(object sender, EventArgs e) { SerialPortHelper.Instance().InitRecive(); } private void FrmMain_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show(this, "确认退出系统?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { SerialPortHelper.Instance().CloseRecive(); } else { e.Cancel = true; } } private void FrmMain_Resize(object sender, EventArgs e) { if (this.WindowState == FormWindowState.Minimized) { this.WindowState = FormWindowState.Minimized; this.Visible = false; this.notifyIcon1.Visible = true; this.notifyIcon1.ShowBalloonTip(2000,"提示","采集软件将在后台运行",ToolTipIcon.Info); } } private void notifyIcon1_MouseClick(object sender, MouseEventArgs e) { notifyIcon1.Visible = false; this.ShowInTaskbar = true; this.Show(); this.Activate(); this.WindowState = FormWindowState.Normal; } } }