C# 线程 显示 form,form一闪就过去了,怎么办
ThreadStart ts = new ThreadStart(ShowForm);
Thread td = new Thread(ts);
td.IsBackground = true;
td.Start();
private void ShowForm()
{
Form frm = new Form ();
frm.Show();
}
请教高手
------解决方案--------------------因为ShowForm方法返回后,线程就结束了,线程结束了,它打开的任何窗体都会被关闭,所以有界面的线程都需要一个消息循环,
------解决方案--------------------ShowForm 方法修改一下
C# code
private void ShowForm()
{
Form frm = new Form();
this.Invoke((MethodInvoker)(() => frm.Show()));
}
------解决方案--------------------
楼主可以试试这样:
private void ShowForm()
{
Form frm = new Form ();
Application.Run(frm);
}
------解决方案--------------------
------解决方案--------------------
frm.Show();改为 frm.ShowDialog();
------解决方案--------------------
C# code
using System.Threading.Tasks;
Task.Factory.StartNew(() => { Form2 f = new Form2(); this.Invoke((MethodInvoker)(() => f.Show())); });