问题描述
求助各位大神,现有两个窗体,f1和f2,f2是由f1点击按钮后得到的,如何实现手动关闭f1而f2还能正常使用。
解决方案
解决方案二:
我懂了下边是实现代码privatevoidbutton1_Click(objectsender,EventArgse){Threadt=newThread(ThreadFunc);t.Start();}privatevoidThreadFunc(){Form2f2=newForm2();Application.Run(f2);}
解决方案三:
一般都是show之后将f1给hide了。
解决方案四:
引用2楼duanzi_peng的回复:
一般都是show之后将f1给hide了。
记得我当年做窗体的时候也是酱紫弄的。
解决方案五:
新开一个线程,然后执行线程就可以了ThreadthreadFrm=newThread(newThreadStart(()=>{Formf2=newForm();f2.ShowDialog();}));Thread.Start();关了也没关系了。
解决方案六:
引用1楼gaoyan601的回复:
我懂了下边是实现代码privatevoidbutton1_Click(objectsender,EventArgse){Threadt=newThread(ThreadFunc);t.Start();}privatevoidThreadFunc(){Form2f2=newForm2();Application.Run(f2);}
正解!新开一个线程,打开Form2。直接打开Form2,Form1关闭Form2随之被关掉。Application.Run之后,你去任务管理器看,会有两个进程:Form1.exe和Form2.exe,这样以来,Form1和Form2就互不影响了。
时间: 2024-08-27 17:47:09