我在第一个窗口中Show了第二个窗口frm2=new Frm2();
frm2.Show();但我这时无法关掉第一个窗口,如果用
frm1.Close()或frm1.Dispose();
那则把刚打开的frm2也关掉了。请问各位大侠怎么在一个窗口中打开另一个窗口并把本窗口关掉。比如说登录界面,登录成功后要显示主界面,而且要关掉登陆界面。
谢谢大家。
frm2.Show();但我这时无法关掉第一个窗口,如果用
frm1.Close()或frm1.Dispose();
那则把刚打开的frm2也关掉了。请问各位大侠怎么在一个窗口中打开另一个窗口并把本窗口关掉。比如说登录界面,登录成功后要显示主界面,而且要关掉登陆界面。
谢谢大家。
Module Module1
Sub main()
Dim newform As New Form1()
newform.ShowDialog()
Dim frm2 As New form2()
frm2.showdialog()
End Sub
End Module
frm2.ShowDialog();this.Close();
frm2 f2=new Frm2();
f2.f1=this;
frm2.Show();在frm2中
public frm1 f1;
private void frm2_Load(object sender, EventArgs e)
{
this.f1.close();
}
做法可以这样,成功登陆后的窗口是主窗口,主窗口一开始是Hide的,show登陆窗口!验证成功,close登陆窗口再show主窗口!不一定要第一个显示的就是主窗口!
static void Main()
{
DjCsClass.MyLogin=new frmLogin();
DjCsClass.MyLogin.ShowDialog();
}
static void Main()
{
frmLogin MyLogin=new frmLogin();
MyLogin.ShowDialog(); if (登陆成功)
{
Application.Run(new frmMain());
}
}
this.visible=false;
就智能隐藏,不能关闭.如果要关闭,把
[STAThread]
static void Main()
放到你要调用的主窗体中,在主窗体运行的时候
show登陆窗体
登陆成功后再在登陆窗体中销毁登陆窗体
static void Main()
{
frmLogin MyLogin=new frmLogin();
MyLogin.ShowDialog(); if (登陆成功)
{
Application.Run(new frmMain());
}
}
Form frm=new Form2;
frm.ShowDialog();
this.Close();
Form1中
form2 = new Form2;
form2.Owner = form1;
Form2中
(Form1)form2.Owner.close;如果要不影响程序,那么Form1应该不是第一个建立的Form才行。
[STAThread]
static void Main()
{
frmLogin MyLogin=new frmLogin();
MyLogin.ShowDialog(); if (登陆成功)
{
Application.Run(new frmMain());//这里显示主窗口
}
}
frm2 f2=new Frm2();
f2.f1=this;
frm2.Show();在frm2中
public frm1 f1;
private void frm2_Load(object sender, EventArgs e)
{
this.f1.close();
}