我正在尝试使用热键和任务栏托盘中的启动选项制作应用程序。

现在的问题是,在加载事件中使用 this.Hide() 不会有任何效果。我可以添加 this.ShowInTaskbar = false ,但是在我再次将其设置为 true 后,为了显示窗口,它会自行禁用我的热键。

有没有其他方法可以在启动时隐藏我的表单,或者防止我的热键取消注册?

我隐藏表单的代码:

private void frmMain_Load(object sender, EventArgs e)
{
    if (StartBG())
    {
        this.Hide();
        this.ShowInTaskbar = false;
        notifyIcon.Visible = true;
        notifyIcon.ShowBalloonTip(3000, "Kore screenshots", "The application is started and will run on the background.", ToolTipIcon.Info);
    }
}

在上面的代码之后,热键仍然有效,
private void showform()
{
    this.Show();
    this.ShowInTaskbar = true;
    notifyIcon.Visible = false;
    this.WindowState = FormWindowState.Normal;
}

在此代码之后,热键被禁用。

最佳答案

我过去所做的是创建一个单独的表单,该表单始终最小化并且 ShowInTaskbar 为 false(因此它永远不会是用户可见的),并且该表单拥有 NotyifyIcon。

然后,我想显示任何 UI,我开发为单独的表单,我根据需要显示/隐藏。我发现这比尝试获取一种可能在 taskabr 中显示/隐藏/显示/拥有通知图标的表单更干净。

关于.net - C# Hide() 在启动时,没有 ShowInTaskbar 为 false,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4398667/

10-12 20:51