我正在尝试使用热键和任务栏托盘中的启动选项制作应用程序。
现在的问题是,在加载事件中使用 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/