win*_*ngs 1 c# multithreading dialog winforms
我很长一段时间都对这个问题感到困惑.我使用System.Threading启动新线程,就像这样:
ParameterizedThreadStart threadFileExport = FileExport;
Thread threadExport = new Thread(threadFileExport)
{
IsBackground = true,
Name = "threadExport",
Priority = ThreadPriority.AboveNormal
};
threadExport.Start(_dataTable);
Run Code Online (Sandbox Code Playgroud)
和
public void FileExport(object objTable)
{
SaveFileDialog saveFileDialog = new SaveFileDialog
{
DefaultExt = "xlsx",
Filter = "Excel 2007-2010|*.xlsx|" +
"Excel95,97,2003|*.xls|",
FileName = "table.xlsx",
Title = "Save as. . ."
};
saveFileDialog.ShowDialog();
}
Run Code Online (Sandbox Code Playgroud)
但是对话框不会显示,并且在执行"ShowDialog"时线程似乎会立即中止.这是一个错误还是我弄错了?后台线程可以显示保存文件对话框吗?