如何在WinForm运行后隐藏它?

5

可能是重复问题:
启动时隐藏单个窗体

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

我使用了以下代码:

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

但是它没有起作用。你能帮我做吗?

1
“run” 是什么意思? - O. R. Mapper
当我在Windows资源管理器中打开我的应用程序时 - Thanh Nguyen
3个回答

13
在表单加载覆盖中,您可以使用以下其中一种技巧:
  1. 使表单完全透明:

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

    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。 - Jason Ching

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

试试这段代码来隐藏窗口。protected override void OnLoad(EventArgs e) { Visible = false; // 隐藏窗口。 ShowInTaskbar = false; // 从任务栏中移除。 Opacity = 0; base.OnLoad(e); } - Metallic Skeleton

3

你无法轻易地隐藏表单,但你可以将其透明度设置为 0,例如:

this.Opacity = 0;

如果您不希望用户看到应用程序,请设置如下内容:
this.ShowInTaskbar = false;

那么他们将无法在任务栏中看到表单,它将是不可见的。

我相信这解决了你的“最小化无用”的需求吧?


我认为Pavel和我的答案在这里是一样的... - TheKingDave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接