1

我目前在 Windows 应用程序中工作。

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

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

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

构建此应用程序后右事件不起作用,从调试模式输出.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();
}

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

请帮我解决这个问题。

4

1 回答 1

0

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

如果不是这样,如果您从 Release 文件夹运行它而不是在设计器的发布模式下调试,发布构建是否有效?

于 2013-11-15T08:55:31.703 回答