桌面程序的开发中,经常考虑能在状态栏实现托盘快捷操作,托盘程序的实现在API时代,还是相对复杂的,首先在MSDN中可以查看其函数细节,
然后在根据其要求的参数进行复杂的设置。
在.NET时代,MS封装了这些麻烦的细节,开发者可以很容易的实现托盘程序的控制和操作。现以简单的实例为例来说明:
1.添加notifyIcon控件和contextMenuStrip控件
2.设置其属性icon和contextMenuStrp属性,Icon属性只需选择一个托盘图标,contextMenuStrip用于关联第一步的快捷菜单。
3.添加窗体的SizeChanged事件程序,用于实现窗体最小化时调用托盘:
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide(); //可以要,也可以不要,取决于是否隐藏主窗体
this.notifyIcon.Visible = true;
}
4.添加notifyIcon的Click事件,打开快捷菜单项,或者其他更复杂的操作选项,根据需要而定。
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
this.Hide();
this.notifyIcon1.Visible = true;
}
}
private void notifyIcon1_Click(object sender, EventArgs e)
{
this.contextMenuStrip1.Show(MousePosition.X,MousePosition.Y);
}