Show子窗体调用的方法private void ShowSubForm()
{
Form2 frm = new Form2();
frm.Show();
}方式一:
Thread _subFormThread = new Thread(new ThreadStart(ShowSubForm));然后在主窗体Load的时候调用_subFormThread.Start();方法,只看到窗体Form2一闪而过,出不来。方式二:
用异步MethodInvoker mi = new MethodInvoker(ShowSubForm);
mi.BeginInvoke(null,null);
照样也是一闪而过。方式三:
改成同步mi.Invoke();
Form2出来了,而且没有获得焦点。请问是为什么?
{
Form2 frm = new Form2();
frm.Show();
}方式一:
Thread _subFormThread = new Thread(new ThreadStart(ShowSubForm));然后在主窗体Load的时候调用_subFormThread.Start();方法,只看到窗体Form2一闪而过,出不来。方式二:
用异步MethodInvoker mi = new MethodInvoker(ShowSubForm);
mi.BeginInvoke(null,null);
照样也是一闪而过。方式三:
改成同步mi.Invoke();
Form2出来了,而且没有获得焦点。请问是为什么?
解决方案 »
- |ZYCWPF| RichTextbox 取得当前下划线,有时有,有时没有
- c# 中运行exe程序
- 关于google地图API的问题
- DialogResult
- 将一个.net工程放到服务器上连接数据库的问题。
- C#一个关于转换方面的基础问题
- 请问VS2005自带的“TableLayoutPanel”控件 可以实现手工调整各个Panel的大小么?
- 结构体初始化的问题
- 散分!还好我们不用像美国佬一样担心有恐怖活动,在平安夜平平安安!
- Locked属性的问题
- C#中怎么从htm中读取数据?
- javascript写本地xml文件无权限(求助"孟子"、“思归”、“Knight94”、“小山”、“LoveCherry”、等高手帮忙)
private void ShowSubForm()
{
Form2 frm = new Form2();
frm.ShowDialog();
}这样就OK了
必须要用线程方式,因为我的原意是要在这个线程里做一些数据检测与校验,校验成功才让这个子窗体Show出来to dugupiaoyun(独孤飘云)
原因同上,该子窗体不能ShowDialog
http://blog.csdn.net/knight94/archive/2006/05/27/757351.aspx
{
frm = new Form2();
frm.ShowDialog(this);
}
{
frm = new Form2();
frm.ShowDialog(this);
}
this??不是你当前创建的这个Form类嘛?
this在这里是最开始的主窗体,即由Application.Run指定的窗体对象
//in main form-load event
Show();
Thread thdSub = new Thread( new ThreadStart( ThreadFun ) );
thdSub.Start();private void ThreadFun()
{
MethodInvoker mi = new MethodInvoker( OpenSub );
this.BeginInvoke( mi );
//Other operation here
}private void OpenSub()
{
yourChildForm myChild = new yourChildForm();
myChild.ShowDialog( this );
}