如何实现“父”与“子”窗口转换啊
新手的 实在没法用专业术语
以下是引用剑傲在2013-1-1 01:38:58的发言:
哈哈!楼主发达了,恰好最近想出解决办法!windows编程中经常要用到窗体之间的切换,参考过很多网上以及经典书籍中的案例,很多都是利用form1.hide()方法将窗体1隐藏,然后显示窗体2,这样做虽然能实现效果,但是窗体一并未真正关闭。另有很多方法也实现了此功能,但采用了修改系统后台生成代码的方法,个人感觉始终不妥!鉴于以上原因,自己动手动脑写出了利用多线程实现窗体切换的源码,高手直接无视,仅供新人参考!
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace 多线程实现窗体切换{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
frmMain frmMain1 = new frmMain();
Thread thread = new Thread(CreatNewForm);
thread.Start(frmMain1);
this.Close();
}
private void CreatNewForm(object obj)
{
frmMain frmMain1 = (frmMain)obj;
frmMain1.ShowDialog();
}
}
}
新手可以参考下
哈哈!楼主发达了,恰好最近想出解决办法!windows编程中经常要用到窗体之间的切换,参考过很多网上以及经典书籍中的案例,很多都是利用form1.hide()方法将窗体1隐藏,然后显示窗体2,这样做虽然能实现效果,但是窗体一并未真正关闭。另有很多方法也实现了此功能,但采用了修改系统后台生成代码的方法,个人感觉始终不妥!鉴于以上原因,自己动手动脑写出了利用多线程实现窗体切换的源码,高手直接无视,仅供新人参考!
using System;
using System.Collections.Generic;
using
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace 多线程实现窗体切换{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
frmMain frmMain1 = new frmMain();
Thread thread = new Thread(CreatNewForm);
thread.Start(frmMain1);
this.Close();
}
private void CreatNewForm(object obj)
{
frmMain frmMain1 = (frmMain)obj;
frmMain1.ShowDialog();
}
}
}