作者miewQ (ICQ)
看板C_Sharp
标题[问题] 怎麽在thread里产生新的form?
时间Wed Mar 1 21:17:41 2006
我的程式是这样写
oThread = new Thread(new ThreadStart(0, &ThreadProc));
oThread->Start();
然後ThreadProc是写这样。
static void ThreadProc()
{
for(int i=0;i<4;i++)
{
newform *form1=new newform();
form1->Visible=true;//或者form1->show();
}
}
我发现执行程式的时候会瞬间产生四个新视窗,然後这四个新视窗在一瞬间又消失了。
如果将ThreadProc改写成如下:
static void ThreadProc()
{
while(true)
{
for(int i=0;i<4;i++)
{
newform *form1=new newform();
form1->Visible=true;//或者form1->show();
}
Thread::Sleep(5000);
}
}
产生的新视窗虽然会留着,但是会呈现出一种类似当掉的感觉= =a
有没有什麽好方法可以让Thread继续执行,而且可以不会有类似当掉的情况?
我是使用managed c++,不过我想C#应该也差不多吧?
先谢谢板上的强者拨空指导~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.139.53
1F:推 liunate:该不会是因为GarbageCollection 因为视窗实体没被指到就收 03/01 22:17
2F:推 miewQ:要怎麽解啊?= =a 03/01 23:28
3F:推 EricTsai:1.x: __gc new,丑到爆 2.0: Form^和gcnew 03/02 00:06