我有一个由C#和Visual Studio 2010驱动的Windows窗体应用程序。
如何将我的应用程序最小化到系统托盘(而不是任务栏),然后双击系统托盘将其放回原处?任何的想法?另外,如何在系统任务栏中的图标中创建一些菜单,当我右键单击它时,它会显示诸如“登录”,“断开连接”,“连接”之类的菜单。另外,有什么方法可以显示像从系统托盘中弹出的气球一样?
PS:我已经添加了notifyIcon,但是我不知道如何使用它。
处理窗体的Resize事件。在此处理程序中,您将覆盖Resize事件的基本功能,以使窗体最小化到系统托盘而不是任务栏。这可以通过在窗体的Resize事件处理程序中执行以下操作来完成:检查窗体的WindowState属性是否设置为FormWindowState.Minimized。如果是,请隐藏您的表单,启用NotifyIcon对象,并显示显示一些信息的提示框。一旦WindowState变为FormWindowState.Normal,通过将其Visible属性设置为false来禁用NotifyIcon对象。现在,您希望在任务栏上双击NotifyIcon对象时重新显示该窗口。为此,请处理NotifyIcon的MouseDoubleClick事件。在这里,您可以使用Show()方法显示表单。
private void frmMain_Resize(object sender, EventArgs e) { if (FormWindowState.Minimized == this.WindowState) { mynotifyicon.Visible = true; mynotifyicon.ShowBalloonTip(500); this.Hide(); } else if (FormWindowState.Normal == this.WindowState) { mynotifyicon.Visible = false; } }