我正在尝试将我的应用程序最小化到通知区域,并且该部分正在运行。问题是,当我双击它时,它没有再次显示窗口。
这就是我正在做的事情,我希望这是一件简单的事我做错了:
public partial class Main : Form
{
public Main()
{
InitializeComponent();
CreateNotifyIcon();
}
private void CreateNotifyIcon()
{
mynotifyicon.BalloonTipIcon = ToolTipIcon.Info;
mynotifyicon.BalloonTipText = "[Balloon Text when Minimized]";
mynotifyicon.BalloonTipTitle = "[Balloon Title when Minimized]";
mynotifyicon.Icon = Resources.lightning;
mynotifyicon.Text = "[Message shown when hovering over tray icon]";
}
private void MainLoad(object sender, EventArgs e)
{
Resize += MainResize;
MouseDoubleClick += MainMouseDoubleClick;
}
private void MainResize(object sender, EventArgs e)
{
try
{
if (FormWindowState.Minimized == WindowState)
{
mynotifyicon.Visible = true;
mynotifyicon.ShowBalloonTip(3000);
ShowInTaskbar = false;
Hide();
}
else if (FormWindowState.Normal == WindowState)
{
mynotifyicon.Visible = false;
}
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
private void MainMouseDoubleClick(object sender, MouseEventArgs e)
{
try
{
Show();
WindowState = FormWindowState.Normal;
ShowInTaskbar = true;
mynotifyicon.Visible = false;
}
catch (Exception ex)
{
MessageBox.Show("Error: " + ex.Message);
}
}
}
我忘记提及的是我在MainMouseDoubleClick
上设置了一个调试停止,并且从未达到过这一点。
感谢您的帮助!
**编辑**
我更改了双击以获得try / catch并且根本没有达到它。甚至没有尝试。
答案 0 :(得分:3)
您需要将click事件添加到notifyicon。目前,您正在表单上注册处理程序。
mynotifyicon.MouseDoubleClick += MainMouseDoubleClick;
答案 1 :(得分:1)
在MouseDoubleClick
:
CreateNotifyIcon
个事件
mynotifyicon.MouseDoubleClick += MainMouseDoubleClick;
我建议将事件处理程序MainMouseDoubleClick
重命名为更合适的名称,并从表单的双击事件中取消注册。