托盘图标在调试模式下工作,而不是在发布模式下

时间:2013-11-15 08:16:25

标签: c# windows system-tray trayicon

我目前正在使用Windows应用程序。

我刚关闭表单时创建了一个托盘图标,托盘图标在系统托盘中可见。

左键单击托盘图标表单最大化为正常状态。

右键单击事件在发布模式下无效,但在调试模式下工作。

构建此应用程序后,Right Event无效,来自Debug模式的output.exe文件。

任何帮助将不胜感激。 在此先感谢。

表格加载

private void MainRelease_Load(object sender, EventArgs e)
{
    TrayIcon.Visible = false;
    TrayMenu.Items.Add("Exit");
    TrayMenu.Items[0].Click += new System.EventHandler(this.Dispose_Click);
}

按钮关闭事件

   private void btnClose_Click(object sender, EventArgs e)
{
    this.WindowState = FormWindowState.Minimized;
    TrayIcon.Visible = true;
    ShowInTaskbar = false;
}

在“托盘图标”鼠标中单击“事件”

private void TrayIcon_MouseClick(object sender, MouseEventArgs e)
{
    if (e.Button == System.Windows.Forms.MouseButtons.Left)
    {
        this.WindowState = FormWindowState.Normal;
        TrayIcon.Visible = false;
        ShowInTaskbar = true;

    }
    if (e.Button == System.Windows.Forms.MouseButtons.Right)
    {
        TrayMenu.Show(Cursor.Position.X, Cursor.Position.Y);
    }
}

托盘菜单处理事件

private void Dispose_Click(object Sender, EventArgs e)
{
    TrayIcon.Visible = false;
    TrayIcon.Icon = null;
    TrayIcon.Dispose();
    Application.Exit();
}

处于释放模式时托盘图标鼠标右键单击事件不起作用。但在调试模式下它的工作。

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

也许这是一个愚蠢的答案,但你确定你的发布版本是最新的吗?如果您在设计器中进行调试,则在运行Build时不会更新发布版本,除非您按照这种方式进行设置。也许您的发布版本是在您添加代码以处理右键单击之前?

如果不是这样,如果从Release文件夹运行它而不是从设计器中以发布模式调试,那么发布版本是否有效?