启动时C#Hide(),没有ShowInTaskbar为false

Iva*_*var 4 .net hotkeys startup hide c#-3.0

我正在尝试使用热键和在任务栏托盘中启动的选项来创建应用程序.

现在的问题是,this.Hide()在load事件中使用不会产生任何影响.我可以添加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);
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的代码之后,热键仍然有效,

private void showform()
{
    this.Show();
    this.ShowInTaskbar = true;
    notifyIcon.Visible = false;
    this.WindowState = FormWindowState.Normal;
}
Run Code Online (Sandbox Code Playgroud)

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

Dam*_*ver 5

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

然后,我想要显示的任何UI,我开发为单独的表单,我根据需要显示/隐藏.我发现这比试图获得一个可能在taskabr /拥有一个notifyicon中显示/隐藏/显示的表单更干净.