2013-02-18 258 views
0

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

一种方法是捕获dialog.FileOk deleagate和intial检查。

我们有没有其他方法可以达到同样的效果。

谢谢

+1

请更具体和明确,并发布一些代码,如果y的书面 – 2013-02-18 07:15:11

回答

0

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

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(); 
    }