Form1----登录窗体
Form2----主窗体
目的:用户通过登录窗体检查后进入主窗体,然后就关闭Form1。
但是现在关闭Form1后,结果没有任何窗体出现//---------------------------Form1.cs---------------------
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
this.Close();
}
static void Main()
{
Application.Run(new Form1());
}后来认为可能是Application.Run()中的窗体不能关闭,于是改进代码,首先运行Form2://-------------------Form1.cs-------------------
static void Main()
{
Application.Run(new Form2());
}private Form2 _f2; public Form1(Form2 f2)
{
InitializeComponent();
this._f2 = f2;
} private void button1_Click(object sender, System.EventArgs e)
{
this._f2.Show();
this.Close();
} private void Form1_Load(object sender, System.EventArgs e)
{
this._f2.Hide();
}//------------------------Form2.cs----------------------------
private void Form2_Load(object sender, System.EventArgs e)
{
Form1 f1 = new Form1(this);
f1.Show();
}
运行结果是两个窗体都显示出来了,郁闷,不知道该怎么处理好?
Form2----主窗体
目的:用户通过登录窗体检查后进入主窗体,然后就关闭Form1。
但是现在关闭Form1后,结果没有任何窗体出现//---------------------------Form1.cs---------------------
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
this.Close();
}
static void Main()
{
Application.Run(new Form1());
}后来认为可能是Application.Run()中的窗体不能关闭,于是改进代码,首先运行Form2://-------------------Form1.cs-------------------
static void Main()
{
Application.Run(new Form2());
}private Form2 _f2; public Form1(Form2 f2)
{
InitializeComponent();
this._f2 = f2;
} private void button1_Click(object sender, System.EventArgs e)
{
this._f2.Show();
this.Close();
} private void Form1_Load(object sender, System.EventArgs e)
{
this._f2.Hide();
}//------------------------Form2.cs----------------------------
private void Form2_Load(object sender, System.EventArgs e)
{
Form1 f1 = new Form1(this);
f1.Show();
}
运行结果是两个窗体都显示出来了,郁闷,不知道该怎么处理好?
在Form2的初始化中调用Form1
。。
static void Main()
{
Form1 lg = new Form1();
lg.ShowDialog();
if(在这里判断你的登录名和密码是否正确)//在这里判断一下你的登录名和密码是否正确,正确的话就把Form1窗体关闭,不正确的话就继续显示Form1窗体,让用户重新输入.
{
lg.Close();
Application.Run(new MainForm());
}
}
Form2 mFrm = new Form2();
mFrm.ShowDialog();
使用this.hide后,f1是可以隐藏,但是最后f2关闭之后,f1依然存在,该进程仍然在运行
static void Main()
{
Application.Run(new Form2());
}//------------------Form2.cs--------------------
void Form2_load()
Form1 f1 = new Form1();
f1.ShowDialog();
if (登录成功)
{
//Do Something here....
}
else //登录失败
{
this.Close();
}软件(源码)详情 http://future-tech.czm.cn
###############################################
提供C#源码、控件、解决方案以及各种系统维护服务。
并承接软件开发、毕业设计等客制化软件专案及定单。
###############################################
//-------------------Program.cs----------------软件(源码)详情 http://future-tech.czm.cn
###############################################
提供C#源码、控件、解决方案以及各种系统维护服务。
并承接软件开发、毕业设计等客制化软件专案及定单。
###############################################
static void Main()
{
Application.Run(new Form1());
} private void Form1_Load(object sender, System.EventArgs e)
{
this.Hide();
Form2 f2 = new Form2();
f2.ShowDialog();
} private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
Application.DoEvents();
Application.Exit();
}