使表单在首次加载时不可见

soo*_*ise 1 c# visibility opacity winforms

目前,窗体的不透明度为0%,因此在加载时,它应该是不可见的,但是当窗体加载时,它会显示几秒钟.由于默认不透明度设置为0%,并且在将不透明度设置回100%之前将窗体的可见性设置为false,我认为该窗体应该是不可见的,直到我告诉它为止.

    public FormMain()
    {
        InitializeComponent();
        this.Visible = false;
        this.Opacity = 1.00;
    }
Run Code Online (Sandbox Code Playgroud)

如何将表单隐藏为默认值?

Han*_*ant 6

这是可能的.您必须阻止Application类使表单可见.您无法修改应用程序,这已被锁定.但这有效:

    protected override void SetVisibleCore(bool value) {
        if (!this.IsHandleCreated) {
            this.CreateHandle();
            value = false;
        }
        base.SetVisibleCore(value);
    }
Run Code Online (Sandbox Code Playgroud)

这是一次性取消,您下次调用Show()或设置Visible = true将使其可见.您需要某种触发器,NotifyIcon上下文菜单是典型的.请注意,Load事件在实际可见之前不会运行.其他所有工作都正常,调用Close()方法终止程序.

  • @CodeOrElse如果您指的是 Load 事件,请再次阅读答案。不要只是复制并粘贴代码。 (2认同)