私は長い間この問題に悩まされてきました。次のように、System.Threading を使用して新しいスレッドを開始します。
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」を実行するとスレッドがすぐに中止されるようです。これはバグですか、それとも私が間違えましたか? バックグラウンド スレッドでファイル保存ダイアログを表示できますか?