为了简单说明问题,我将其弄成C#的windows程序
代码片断如下: private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
StartThread(new ThreadStart(f2.Show));//f2.Show();
}
private void StartThread(ThreadStart target)
{
Thread doStep = new Thread(target) ;
doStep.IsBackground = true ;
doStep.Start() ;
}
这是Form1中的代码,主要作用是显示Form2窗口,要在子线程中调用Show显示,(运行效果跟直接调用f2.Show()一样即可,但不要在主线程中调用Show()),可像上面这样f2闪一下就消失了,请达人帮我实现在子线程中显示f2,并可在f2中进行操作,点按钮触发事件之类的就行。谢谢!
代码片断如下: private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
StartThread(new ThreadStart(f2.Show));//f2.Show();
}
private void StartThread(ThreadStart target)
{
Thread doStep = new Thread(target) ;
doStep.IsBackground = true ;
doStep.Start() ;
}
这是Form1中的代码,主要作用是显示Form2窗口,要在子线程中调用Show显示,(运行效果跟直接调用f2.Show()一样即可,但不要在主线程中调用Show()),可像上面这样f2闪一下就消失了,请达人帮我实现在子线程中显示f2,并可在f2中进行操作,点按钮触发事件之类的就行。谢谢!
http://blog.csdn.net/Knight94/archive/2006/05/27/757351.aspx
:那种方法会使主窗口无法操作,如何才可以使f1,f2都可以独立操作.zhgroup(Hotel California)
可否说的具体些,谢谢两位
Knight94(愚翁):
我看参考程序里一个主要的方法是this.BeginInvoke( mi );也就是引用了当前窗口的this,能否不用这个this,因为有时并不一定能获得当前窗口的this,..
f2与f1可能是完全不相关的,它们之间也许只是通过线程启动另一个,