我一直很困惑這個問題很長一段時間。我使用的System.Threading啓動新的線程,就像這樣:SaveFileDialog不顯示在新線程中?
ParameterizedThreadStart threadFileExport = FileExport;
Thread threadExport = new Thread(threadFileExport)
{
IsBackground = true,
Name = "threadExport",
Priority = ThreadPriority.AboveNormal
};
threadExport.Start(_dataTable);
和
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();
}
但該對話框不會顯示,似乎該線程將立即中止當執行「ShowDialog」時。這是一個錯誤還是我犯了一個錯誤?後臺線程是否可以顯示保存文件對話框?
您需要調用它,使用調用將允許它顯示GUI線程 –