关于UI线程等待的问题
之前一直使用Microsoft.Win32; 的 OpenFileDialog来实现打开文件窗口的功能,后来觉得这个控件不能满足客户的要求,需要重新做一个自定义的OpenFileDialog,其他功能已经做了出来,但是现在遇到了一个关于UI线程等待的问题。一般OpenFileDialog的操作大致如下面代码所示:
OpenFileDialog OFD = new OpenFileDialog();
OFD.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
OFD.Filter = "文本文件(*.txt)|*.txt";
OFD.ShowDialog();
OpenFile(OFD.FileName);
OpenFileDialog控件在倒数第二行ShowDialog();这段代码执行后会弹出对话框窗口,并在用户操作完对话框里面的操作才继续执行最后一行OpenFile(OFD.FileName);这串代码。
那么我在制作这个控件的时候,如何实现不阻塞UI线程的同时,让主线程等待我这个对话框窗口的操作完成,再执行后面的代码呢?