您的位置:首页 > 编程语言 > C#

C# 托盘程序 实例 双击显示窗体,最小化到托盘

2012-06-27 22:35 357 查看
单击任务栏  显示-隐藏切换,右键菜单,捕捉关闭窗体事件

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
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# object class 任务 null