因为,load()完成后才能hide()的,你把hide()放在load()里面没有用的;
你可以这样:
private void form1_Shown(object sender, EventArgs e)
{
this.Visible = false;
}
但这样窗体会一闪而过!
所以在load()
{
this.WindowState = FormWindowState.Minimized;
}
因为在load事件中会加载窗体的各种控件,之后还会通过shown事件来显示出来,你现在在load事件中加上this.hide(),会使得没有完成的句柄提前终止,是会出错的。
如果想实现你说的效果,可以通过重写OnShown()事件来完成。之后你把this.hide()写在重写的事件里,就OK 了
load事件 发生在创建这个窗体的时候(也就是new)这时候本来就是hide的
然后你后面那句show()就变为show的了
你可以调this.Visible = false;
如果不是主窗口 直接抹掉form.show();就可以了
其实你可以写 this.Visible = false;
visible决定窗体或控件是可见的还是隐藏的