0

我正在打开一个文件。要求是,如果用户在过滤器中选择文本,用户可以选择多个文件。但如果用户选择任何图像文件,则允许用户选择单个文件。

一种方法是捕获 dialog.FileOk 委托和初始检查。

我们还有其他方法可以实现相同的目标吗?

谢谢,

4

2 回答 2

0

OpenFileDialog不为 FileSelected 或 FilterChanged 提供事件。因此,使用默认OpenFileDialog您只能订阅 FileOk 事件并在用户做出选择后取消或接受它。如果您想即时更改设置(例如,当用户在过滤器中选择图像时禁用多个文件选择),那么您应该扩展OpenFileDialog。不幸的是,默认值是密封的,因此您不能只继承它。所以,看看这些文章:

于 2013-02-18T07:25:26.600 回答
0

使用以下代码:

private void button1_Click(object sender, System.EventArgs e)
{
    openFileDialog1.Filter = "Text Files (.txt)|*.txt|All Files (*.*)|*.*";
    openFileDialog1.FilterIndex = 1;

   if(openFileDialog1.ShowDialog() == DialogResult.OK)
   {
      System.IO.StreamReader sr = new 
         System.IO.StreamReader(openFileDialog1.FileName);
      MessageBox.Show(sr.ReadToEnd());
      sr.Close();
   }
于 2013-02-20T15:42:20.613 回答