none
FolderBrowserDialog backgroundWorker 使用问题 RRS feed

  • 问题

  • 我在backgroundWorker 里实现 FolderBrowserDialog 但是弹出的界面 仅有3个按钮 没有文件的浏览界面 从晚上查找原因 在多线程中使用 FolderBrowserDialog 的时候可以设置线程的ApartmentState为System.Threading.ApartmentState.STA 但是在backgroundWorker  中无法不知道怎么设置 ?因为线程一旦启动 不能更改了ApartmentState了 。请高手指点
    2009年11月3日 4:55

答案

  • Windows Form的控件不支持在工作线程中调用。要调用的话,用Invoke或者BackGroundWorker的事件切换到界面线程。
    FolderBrowserDialog基于Windows Shell API。Windows Shell API不支持MTA,只支持STA。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 pbc1984 2009年11月5日 5:34
    2009年11月4日 21:27
    版主