[STAThread]去掉则不能运行openFileDialog1.ShowDialog(),为什么?

wml9022 2006-09-08 11:22:41
我在一个窗体中加 :

public static void Main()
{
Application.Run(new Form1());
}

让程序从Form1开始运行,奇怪的是运行“openFileDialog1.ShowDialog();”时候
程序会停下,也不报错,就是没反映了。后来发现初创c#项目时候系统生成的main()函数前面
都加了个[STAThread],我也试着加上后openFileDialog1.ShowDialog()就能用了。
不明白其中的缘故!望高手指点!谢谢!
...全文
163 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhongwanli 2006-09-08
  • 打赏
  • 举报
回复
加于不加,都是一样的
真相重于对错 2006-09-08
  • 打赏
  • 举报
回复
我试了
没问题啊,
[StaThread]去不去掉无所谓 ,那个属性只有你用了cominterop,才会起作用,
你看看你的openFileDialog1,是如何定义的和添加的

yueue 2006-09-08
  • 打赏
  • 举报
回复
MARK
wml9022 2006-09-08
  • 打赏
  • 举报
回复
补充一点:如果Form1不作为程序启动窗体则不会出现上述情况!
wml9022 2006-09-08
  • 打赏
  • 举报
回复
这可能是个bug,我用的是.net2002,你们试的至少也是2003吧!

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧