打开文件对话框并打开不同的文件

时间:2013-02-18 06:42:19

标签: c# winforms

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

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

我们是否还有其他方法可以实现同样的目标。

谢谢,

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分: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();
   }