单击任务栏 显示-隐藏切换,右键菜单,捕捉关闭窗体事件
public partial class frmMain : Form
{
public frmMain()
{
InitializeComponent();
}
#region 注销
public void Logout()
{
if (MessageBox.Show("确认要退出吗?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
notifyIcon1.Visible = false;
FormCollection fc = Application.OpenForms;
if (fc != null && fc.Count > 0)
{
foreach (Form window in fc)
{
window.Hide();
}
}
CacheHelper.CurrentUsrName = "";
CacheHelper.CurrentRoleId = 0;
frmLogin fl = new frmLogin();
fl.Show();
}
}
private void 注销登陆ToolStripMenuItem_Click(object sender, EventArgs e)
{
Logout();
}
#endregion
#region 修改密码
private void 修改密码ToolStripMenuItem_Click(object sender, EventArgs e)
{
frmChangePwd fcp = new frmChangePwd();
fcp.Show();
}
#endregion
private void frmMain_Load(object sender, EventArgs e)
{
}
private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("确认要退出吗?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
{
Logout();
}
else
{
e.Cancel = true;
}
}
private void 最大化ToolStripMenuItem_Click(object sender, EventArgs e)
{
ShowWin();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
Logout();
}
private void frmMain_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
HideWin();
}
}
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
}
else
{
ShowWin();
}
}
#region 隐藏显示窗体
/// <summary>
/// 隐藏窗体
/// </summary>
private void HideWin()
{
this.notifyIcon1.Visible = true;
this.Hide();
}
/// <summary>
/// 显示主窗体
/// </summary>
private void ShowWin()
{
if (Visible)
{
HideWin();
}
else
{
/这里注意顺序很重要,先show 后设置state
Show();
WindowState = FormWindowState.Normal;
}
}
#endregion
}