你应该使用Hide方法隐藏登陆界面,并且把这个界面的实体传递到Main方法中进行关闭。示例代码如下(假设有Login和Main两个窗体):
1)双击Login中的那个检测按钮,这样写代码:
private void button1_Click(object sender, EventArgs e)
{
//if(登录成功……)
Main m = new Main(this);
m.Show();
}
2)然后切换到Main窗体,增加构造函数(接受Login窗体)和Closing函数:
public partial class Main : Form
{
private Login LoginWindow { get; set; }
public Main()
{
InitializeComponent();
}
//增加的带参数构造函数,传入Login窗体
public Main(Login lgn):this()
{
LoginWindow = lgn;
LoginWindow.Hide();
}
///
/// 连同Login一起关闭
///
private void Main_FormClosing(object sender, FormClosingEventArgs e)
{
LoginWindow.Close();
}
}
3)最后把Login设置为启动窗体:
static class Program
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Login());
}
}