C# 多线程 winform 弹出连个窗口,而且会卡住 咋办? 本帖最后由 yxy10072510329 于 2010-08-23 09:46:52 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void button1_Click(object sender, EventArgs e) { Thread th = new Thread(new ThreadStart(SubFormShowDialog)); th.SetApartmentState(ApartmentState.MTA); th.Start(); } private void SubFormShowDialog() { //if (this.InvokeRequired) // this.BeginInvoke(new MethodInvoker(SubFormShowDialog)); //{ Form sf = new Form(); sf.ShowDialog(); //} }这样就是一个了。 zylhx2002 解决了窗口重复问题,谁帮解决一下卡死问题啊,是不是 th.Start(); 后面的循环导致的卡死(一直到循环结束才正常) 这样写会好一点。private void calcu(){ StatusForm form = null; new Thread((ThreadStart)delegate { form = new StatusForm(); Application.Run(form); }).Start(); while(form == null);//等待线程启动成功,窗体创建好,避免后续操作太快,窗体没创建立刻要释放的情况。 where(bool) { //。这里是读取一个文件夹所有文件的代码,并记录当前读了多少个文件到全局静态变量,供多进程的winform使用 } form.Invoke((EventHandler)delegate{form.Close();});} 几个小问题,关于皮肤控件、打印等 关于用C#实现两台计算机之间数据传输的问题 怎样取出复选框里面的值——在线等高手 简单问题:网关和接口有什么区别呢?网关是硬件还是软件?接口呢 ListBox 绑定后 怎么更改啊 访问局域网文件? 怎样更改VS.net编辑器中的字体,在线等待,进者有分 c# 如何将16位/通道图转换为8位的 sos 我想在工作组中的另一台机器上创建Asp.net Web应用失败 求助:我的VS.net源代码管理中的子菜单全部无效?不知什么条件下才能激活呢?谢谢!!! 导出身份证号码 调用虚拟打印机转PDF
{
Thread th = new Thread(new ThreadStart(SubFormShowDialog));
th.SetApartmentState(ApartmentState.MTA);
th.Start();
} private void SubFormShowDialog()
{
//if (this.InvokeRequired)
// this.BeginInvoke(new MethodInvoker(SubFormShowDialog));
//{
Form sf = new Form();
sf.ShowDialog();
//}
}这样就是一个了。
private void calcu()
{
StatusForm form = null;
new Thread((ThreadStart)delegate
{
form = new StatusForm();
Application.Run(form);
}).Start();
while(form == null);//等待线程启动成功,窗体创建好,避免后续操作太快,窗体没创建立刻要释放的情况。
where(bool)
{
//。这里是读取一个文件夹所有文件的代码,并记录当前读了多少个文件到全局静态变量,供多进程的winform使用
}
form.Invoke((EventHandler)delegate{form.Close();});
}