简单做了个登陆的,点击确定后我使用了下面代码进入下一个窗体
Main m = new Main(txtName.Text);
m.Show();
this.Close()但是发现两个窗体都没了,如何让第二个窗体不自动关闭呢?我原来一直把两个窗体都放在一个父窗体的框架内做,请问除此之外还有别的方法么?谢谢指教!
Main m = new Main(txtName.Text);
m.Show();
this.Close()但是发现两个窗体都没了,如何让第二个窗体不自动关闭呢?我原来一直把两个窗体都放在一个父窗体的框架内做,请问除此之外还有别的方法么?谢谢指教!
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
////Pub.cn = new SqlConnection() ;
////Pub.cmd = new SqlCommand();
////Application.EnableVisualStyles();
////Application.SetCompatibleTextRenderingDefault(false);
////Application.Run(new FrmMain());
Process p = SingleInstance.GetRunningInstance();
if (p != null) //已经有应用程序副本执行
{
SingleInstance.HandleRunningInstance(p);
}
else //启动第一个应用程序
{
RunApplication();
} }
//启动应用程序
static void RunApplication()
{
//读取配置文件
Pub.strSqlCn = Pub.GetSqlServerConnectString();
//Pub.strSqlCn = "";
Application.EnableVisualStyles();
//Application.Run(new FrmMain());
ReLogin:
try
{ FrmLogin.FrmLogin frmL = new FrmLogin.FrmLogin ();
DialogResult sr = frmL.ShowDialog();
if (sr == DialogResult.OK)
{
frmL.Dispose();
FrmMain frm = new FrmMain();
Application.Run(frm);
//Application.Run(new FrmMain());
DialogResult dr = frm.DialogResult;
frm.Dispose();
if (dr == DialogResult.Retry)
{
goto ReLogin;
}
}
else
{
frmL.Dispose();
}
}
catch (Exception ex)
{
Trace.WriteLine(ex.Message);
}
}
}
m.Show();
this.Hide();//隐藏
我的解决了,我把我的答案分享下吧!!
http://topic.csdn.net/u/20090515/15/92d7b541-f624-4115-a759-680ba3da546d.html
m.Show();
this.Hide();隐藏窗体
f2.ShowDialog();
//在f2的窗体弹出以后,将在f2窗体上进行操作,Form1暂时被限制操作,如果弹出的f2关闭,将弹出下面的对话框
MessageBox.Show("f2已经关闭!");
}
而如果是下面的方法
private void TestShow()
{
Form2 f2 = new Form2();
f2.Show();
//在f2的窗体弹出以后,将接着弹出下面,Form1和新弹出的f2可以同时存在,并随便操作哪个窗体,f2关闭以后也不会对Form1产生什么影响,
MessageBox.Show("f2尚未关闭!");
this.Close();
m.Show();