从Windows Media Device

时间:2018-04-08 18:03:21

标签: c# windows ipad openfiledialog

我有一个程序,我使用openfiledialog框选择文件并将该路径添加到文本框中。然后我进一步处理该文件。

我遇到的问题是当我选择Windows媒体设备上的文件时,例如iPAD。因为它不使用标准的Windows路径,所以必须先将文件复制到临时文件夹。我甚至不需要编写代码,它只会自动将其复制到我的Windows临时文件夹,然后将其作为文件的路径。

我遇到的问题是它冻结了UI,直到文件完成复制。

我可以使用更优雅的方法,这样如果我从Windows媒体设备中选择一个文件,我可以得到一个弹出框或者其他东西,说它正在复制文件而不是冻结UI吗? / p>

1 个答案:

答案 0 :(得分:0)

你需要创建一个帖子。制作线程后,你应该显示opendialog 或者使用动作。 因为如果你在主线程中显示对话框,它将保持主线程。

 //1. Thread 
Thread openDialogthread = new Thread(Showdialog);
openDialogthread.Start();

void Showdialog()
{ // do popup dialog here }

//2. Action
if(this.invokeRequired)
{
  this.BeginInvoke(new Action(() =>     fileOpendialog.ShowDialog();));
}