C# 窗体在停用事件时隐藏
正如您在下面的代码中看到的,如果触发停用事件,表单将被隐藏,如果单击notifyIcon,表单将再次显示,问题是,当表单状态可见,然后单击notifyIcon,表单将被隐藏并立即再次显示,我不希望出现这种行为,请有人帮助我C# 窗体在停用事件时隐藏,c#,winforms,events,C#,Winforms,Events,正如您在下面的代码中看到的,如果触发停用事件,表单将被隐藏,如果单击notifyIcon,表单将再次显示,问题是,当表单状态可见,然后单击notifyIcon,表单将被隐藏并立即再次显示,我不希望出现这种行为,请有人帮助我 private void FormMain_Deactivate(object sender, EventArgs e) { this.Hide(); } private void notifyIcon_MouseClick(
private void FormMain_Deactivate(object sender, EventArgs e)
{
this.Hide();
}
private void notifyIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Show();
this.Activate();
}
}
在黑暗中刺伤,因为此刻我远离我的身边。。。祝你好运:-)
在黑暗中刺伤,因为此刻我远离我的身边。。。祝你好运:-)试试这个:
this.Hide();
(FormToBeDisplayed).ShowDialog();
this.Show();
试试这个:
this.Hide();
(FormToBeDisplayed).ShowDialog();
this.Show();
您只需验证它是否可见
private void FormMain_Deactivate(object sender, EventArgs e)
{
this.Hide();
}
private void notifyIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && !this.isVisible)
{
this.Show();
this.Activate();
}
}
希望它能有所帮助:)你应该简单地验证它是否可见
private void FormMain_Deactivate(object sender, EventArgs e)
{
this.Hide();
}
private void notifyIcon_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && !this.isVisible)
{
this.Show();
this.Activate();
}
}
希望它能有所帮助:)看看你提到的问题中给出的解决方案仍然有不足之处,因为如果用户单击的速度超过指定的时间(在本例中为1000毫秒),那么表单将不会显示,我希望类似于开始菜单行为。请注意,它是滴答声,而不是毫秒。是的,我没有键入它,我尝试将速度设置为200,但仍有一些单击未显示表单,但有一段时间我想我会使用此解决方案,至少这满足了我的愿望,感谢您将此指向我。请查看您提到的问题中给出的解决方案仍然存在不足,因为如果用户单击速度超过指定的时间(在这种情况下为1000ms)然后表单将不会显示,我希望类似于开始菜单行为。请注意,它是滴答声,而不是毫秒。是的,我没有键入它,我尝试设置为200,但仍然有一些单击未显示表单,但有一段时间我想我会使用此解决方案,至少这满足了我的愿望一点,谢谢你将此指向我。这不是wo如果形式是可见的,形式将被隐藏并立即再次显示,我希望这是如此简单。这不起作用,如果形式是可见的,形式将被隐藏并立即再次显示,我希望这是如此简单。这不起作用,如果形式是可见的,形式将被隐藏并立即再次显示,我希望这是如此简单因为这不起作用,如果形式是可见的,形式将被隐藏并立即再次显示,我希望这是如此简单。