A:
private
void
button1_Click(
object
sender, EventArgs e)
... {
System.Threading.Thread s = new System.Threading.Thread( new System.Threading.ThreadStart(test));
s.ApartmentState = System.Threading.ApartmentState.STA;
s.Start();
}
public void test()
... {
System.Windows.Forms.FolderBrowserDialog dlg = new FolderBrowserDialog();
dlg.ShowDialog();
}
... {
System.Threading.Thread s = new System.Threading.Thread( new System.Threading.ThreadStart(test));
s.ApartmentState = System.Threading.ApartmentState.STA;
s.Start();
}
public void test()
... {
System.Windows.Forms.FolderBrowserDialog dlg = new FolderBrowserDialog();
dlg.ShowDialog();
}
以上代码简单的演示了FolderBrowserDialog在子线程中的使用,其中设置线程的ApartmentState为System.Threading.ApartmentState.STA是关键的语句。在.net2.0中应该使用
s.SetApartmentState(System.Threading.Ap