黑马程序员技术交流社区

标题: win7环境下使用多线程不能弹出对话框的问题 [打印本页]

作者: 刘亚龙    时间: 2012-12-8 23:23
标题: win7环境下使用多线程不能弹出对话框的问题
今天跟着视频做聊天室,做到客户端向服务端发送文件,如果服务端判断出接收到的是文件就弹出保存对话框让用户保存这一步,代码如下:
SaveFileDialog sfd = new SaveFileDialog();
sfd.ShowDialog();
可是却怎么也Show不出来,各种纠错,纠结了半个多小时,最后在网上查到需要在建立接收消息的这个线程时,将它的模式设置成单线程,代码示例:
Thread threadConn = new Thread(serverReceive);
threadConn.SetApartmentState(ApartmentState.STA);//这一步是关键
threadConn.IsBackground = true;
threadConn.Start(sokConn);
然后就可以顺利的Show出来对话框,其实不是程序出了错。我在这里浪费了挺长时间,希望给后面做到这一步的同学有所帮助。
作者: 许庭洲    时间: 2012-12-9 07:49
值得学习ing!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2