0

我正在尝试将我的 winapp 最小化到系统托盘。我从codeproject下载了一个示例项目。但它会在 Form.Resize 事件上转到 systary。代码 -

    private void Form_Resize(object sender, EventArgs e)
    {
        notifyIcon1.BalloonTipTitle = "Minimize to Tray App";
        notifyIcon1.BalloonTipText = "You have successfully minimized your form.";

        if (FormWindowState.Minimized == this.WindowState)
        {
            notifyIcon1.Visible = true;
            notifyIcon1.ShowBalloonTip(500);
            this.Hide();    
        }
        else if (FormWindowState.Normal == this.WindowState)
        {
            notifyIcon1.Visible = false;
        }
    }

是否有必要在调整大小事件时处理它?我可以在按钮点击事件中做到这一点吗?

4

1 回答 1

1

您可以在按钮中执行此操作。由于显而易见的原因,您不能依赖按钮中的 WindowState,因为只有在窗口没有最小化到托盘时才能单击它。

private void button1_Click(object sender, EventArgs e)
{
    notifyIcon1.BalloonTipTitle = "Minimize to Tray App";
    notifyIcon1.BalloonTipText = "You have successfully minimized your form.";

    notifyIcon1.Visible = true;
    notifyIcon1.ShowBalloonTip(500);
    this.Hide();
} 

这应该可以“最小化”到托盘。虽然它真的应该被称为 hide-on-button-click-to-tray。

于 2014-03-12T06:01:34.370 回答