【问题标题】:C# - openfiledialog box freezes while selecting file from Windows Media DeviceC# - 从 Windows Media 设备中选择文件时,openfile 对话框冻结
【发布时间】:2018-09-18 03:33:30
【问题描述】:

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

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

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

有没有更优雅的方法可以使用,如果我从 Windows 媒体设备中选择一个文件,我可以得到一个弹出框或者说它正在复制文件而不是冻结 UI?

【问题讨论】:

    标签: c# windows ipad openfiledialog


    【解决方案1】:

    你需要做一个线程。建立一个线程后,您应该显示 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();));
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2012-06-02
      • 2012-11-02
      • 2011-12-26
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      相关资源
      最近更新 更多