【问题标题】:How to hide WinForm after it run? [duplicate]WinForm运行后如何隐藏? [复制]
【发布时间】:2013-01-05 11:28:56
【问题描述】:

可能重复:
Single Form Hide on Startup

我想在 WinForm 运行后隐藏它(不是最小化)。

我用过:

    this.Load += new System.EventHandler(this.Form1_Load);
    private void Form1_Load(object sender, EventArgs e)
    {
        Hide();
    }

但它不起作用。你能帮我做吗?

【问题讨论】:

  • “运行”是什么意思?
  • 当我在 Windows 资源管理器中打开我的应用时

标签: c# .net windows winforms hide


【解决方案1】:

在显示后而不是在加载后尝试隐藏表单,使用 Shown 事件而不是 Load 事件

【讨论】:

  • 是的,试试这个代码来隐藏。受保护的覆盖 void OnLoad(EventArgs e) { Visible = false; // 隐藏表单窗口。 ShowInTaskbar = false; // 从任务栏移除。不透明度 = 0; base.OnLoad(e); }
【解决方案2】:

在表单加载事件中,您可以使用以下技巧之一:

  1. 使表单完全透明:

    private void OnFormLoad(object sender, EventArgs e)
    {
         Form form = (Form)sender;
         form.ShowInTaskbar = false;
         form.Opacity = 0;
    }
    
  2. 将表单移出屏幕:

    private void OnFormLoad(object sender, EventArgs e)
    {
        Form form = (Form)sender;
        form.ShowInTaskbar = false;
        form.Location = new Point(-10000, -10000);
    } 
    

【讨论】:

  • 如果您托管一些奇怪的控件,有时 Opacity=0 可能不起作用。您可以将其设置为 form.Opacity = 0.01。
【解决方案3】:

您不能轻易隐藏表单,但您可以将 Opacity 设置为 0,例如:

this.Opacity = 0;

如果您不希望用户能够看到应用程序,请设置此:

this.ShowInTaskbar = false;

然后他们将无法在任务栏中看到表单,并且它将不可见。

我相信这解决了您的“无用最小化”要求??

【讨论】:

  • 我觉得 Pavel 和我的答案在这里是一样的……
猜你喜欢
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多