我是c#的新手,但是知道c ++和c,我的问题是我的表单在最小化到系统托盘后无法再显示。
这是我用来隐藏它的代码:
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
bool cursorNotInBar = Screen.GetWorkingArea(this).Contains(Cursor.Position);
if (this.WindowState == FormWindowState.Minimized && cursorNotInBar)
{
this.ShowInTaskbar = false;
notifyIcon.Visible = true;
this.Hide();
}
}
答案 0 :(得分:2)
您需要撤消对表单所做的更改才能使其隐藏...以使其再次显示:
private void notifyIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == System.Windows.Forms.MouseButtons.Left)
{
this.Show();
this.ShowInTaskbar = true;
this.WindowState = FormWindowState.Normal;
notifyIcon.Visible = false;
}
}
答案 1 :(得分:0)
关于notifyIcon点击事件尝试:
this.Show();
(我不确定,但这个也可以工作:this.Visible = true)
顺便尝试在窗体上处理OnClosing事件而不是OnResize
(我在家里有合适的代码,当我到那里生病时分享它)
答案 2 :(得分:0)
您可以使用 this.Show()在最小化后再次显示表单。如果这不起作用,请告诉我,将提供另一种解决方案。