ThreadStateException在Winform特别是在OpenFileDialog

本文关键字:OpenFileDialog 特别是 Winform ThreadStateException | 更新日期: 2023-09-27 18:16:38

根据MSDN,发生ThreadStateException主要是因为新线程在主线程中创建了OpenFileDialog的工具;

private void button_FileExercise_Click(object sender, EventArgs e)
{
    OpenFileDialog fileDialog = new OpenFileDialog();
    fileDialog.InitialDirectory = "C:''";
    fileDialog.Filter = "Text Files (*.txt)|*.txt|All Files (*.*)|*.*";
    if (fileDialog.ShowDialog() == DialogResult.OK)
    {
    }
}

ThreadStateException发生在"if"处,因此,我该如何解决这样的程序,谢谢!

ThreadStateException在Winform特别是在OpenFileDialog

如果不设置[STAThread],您可能必须通过thread - apartment - safe来实现单线程

这个链接说明