using System; using System.Threading; using System.Windows.Forms; namespace EC.AutoWeightServer.UI.Base { public partial class FrmServerBase : FrmBase { private bool EXIT_APP = false; private const int WM_QUERYENDSESSION = 17; //0x0011 // public delegate void mydelegate(string str,bool isErr); public FrmServerBase() { InitializeComponent(); } #region 系统 private void FrmServerBase_Load(object sender, EventArgs e) { MenuItem menuitem = new MenuItem("退出"); notifyIcon1.ContextMenu = new ContextMenu(new MenuItem[] { menuitem }); menuitem.Click += new EventHandler(Menuitem_Click); notifyIcon1.MouseClick += new MouseEventHandler(notifyicon_MouseClick); // Thread.Sleep(2000); } private void notifyicon_MouseClick(object sender, MouseEventArgs e) { //throw new Exception("The method or operation is not implemented."); if (this.WindowState == FormWindowState.Minimized) { this.Show(); this.WindowState = FormWindowState.Normal; } else if (this.WindowState == FormWindowState.Normal) { this.Activate(); } } private void Menuitem_Click(object sender, EventArgs e) { //throw new Exception("The method or operation is not implemented."); StopServer(); Thread.Sleep(1000); this.Dispose(); Application.Exit(); } public virtual void StopServer() { throw new NotImplementedException(); } private void FrmServerBase_SizeChanged(object sender, EventArgs e) { //如果最小化 if (this.WindowState == FormWindowState.Minimized) { HideWindow(); } } private void FrmServerBase_FormClosing(object sender, FormClosingEventArgs e) { if (!EXIT_APP) { e.Cancel = true; HideWindow(); } } private void HideWindow() { this.WindowState = FormWindowState.Minimized; this.ShowInTaskbar = false; this.Hide(); this.notifyIcon1.ShowBalloonTip(3000, "", "程序后台运行中", ToolTipIcon.Info); //弹出气泡提示 } protected override void WndProc(ref Message message) { switch (message.Msg) { case WM_QUERYENDSESSION: EXIT_APP = true; break; } base.WndProc(ref message); } private void testToolStripMenuItem_Click(object sender, EventArgs e) { // SOCKET_SERVER.ShowClient(); } #endregion 系统 } }