winform 我想一加载就隐藏界面,在load中加了 this.hide() 怎么不行?

2025-04-04 05:00:51
推荐回答(4个)
回答1:

因为,load()完成后才能hide()的,你把hide()放在load()里面没有用的;
你可以这样:
private void form1_Shown(object sender, EventArgs e)
{
this.Visible = false;
}
但这样窗体会一闪而过!
所以在load()
{
this.WindowState = FormWindowState.Minimized;
}

回答2:

因为在load事件中会加载窗体的各种控件,之后还会通过shown事件来显示出来,你现在在load事件中加上this.hide(),会使得没有完成的句柄提前终止,是会出错的。
如果想实现你说的效果,可以通过重写OnShown()事件来完成。之后你把this.hide()写在重写的事件里,就OK 了

回答3:

load事件 发生在创建这个窗体的时候(也就是new)这时候本来就是hide的
然后你后面那句show()就变为show的了

你可以调this.Visible = false;

如果不是主窗口 直接抹掉form.show();就可以了

回答4:

其实你可以写 this.Visible = false;
visible决定窗体或控件是可见的还是隐藏的