This documentation is archived and is not being maintained.

FileDialog.Filter Property

Gets or sets the current file name filter string, which determines the choices that appear in the "Save as file type" or "Files of type" box in the dialog box.

[Visual Basic]
Public Property Filter As String
public string Filter {get; set;}
public: __property String* get_Filter();
public: __property void set_Filter(String*);
public function get Filter() : String;
public function set Filter(String);

Property Value

The file filtering options available in the dialog box.


Exception Type Condition
ArgumentException Filter format is invalid.


For each filtering option, the filter string contains a description of the filter, followed by the vertical bar (|) and the filter pattern. The strings for different filtering options are separated by the vertical bar.

The following is an example of a filter string: "Text files (*.txt)|*.txt|All files (*.*)|*.*"

You can add several filter patterns to a filter by separating the file types with semicolons. For example: "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|All files (*.*)|*.*"

Use the FilterIndex property to set which filtering option is shown first to the user.


[Visual Basic, C#, C++] The following example uses the OpenFileDialog implementation of FileDialog and illustrates creating, setting of properties, and showing the dialog box. The example uses the Filter and FilterIndex properties to provide a list of filters for the user. The example assumes a form with a Button placed on it and the System.IO namespace added to it.

[Visual Basic] 
Protected Sub button1_Click(sender As Object, e As System.EventArgs)
    Dim myStream As Stream
    Dim openFileDialog1 As New OpenFileDialog()
    openFileDialog1.InitialDirectory = "c:\"
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
    openFileDialog1.FilterIndex = 2
    openFileDialog1.RestoreDirectory = True
    If openFileDialog1.ShowDialog() = DialogResult.OK Then
        myStream = openFileDialog1.OpenFile()
        If Not (myStream Is Nothing) Then
            ' Insert code to read the stream here.
        End If
    End If
End Sub

protected void button1_Click(object sender, System.EventArgs e)
    Stream myStream;
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    openFileDialog1.InitialDirectory = "c:\\" ;
    openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
    openFileDialog1.FilterIndex = 2 ;
    openFileDialog1.RestoreDirectory = true ;

    if(openFileDialog1.ShowDialog() == DialogResult.OK)
        if((myStream = openFileDialog1.OpenFile())!= null)
            // Insert code to read the stream here.

 void button1_Click(Object* /*sender*/, System::EventArgs* /*e*/)
     Stream* myStream;
     OpenFileDialog* openFileDialog1 = new OpenFileDialog();
     openFileDialog1->InitialDirectory = S"c:\\" ;
     openFileDialog1->Filter = S"txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
     openFileDialog1->FilterIndex = 2 ;
     openFileDialog1->RestoreDirectory = true ;
     if(openFileDialog1->ShowDialog() == DialogResult::OK)
         if((myStream = openFileDialog1->OpenFile())!= 0)
             // Insert code to read the stream here.

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework

See Also

FileDialog Class | FileDialog Members | System.Windows.Forms Namespace | CheckFileExists | FilterIndex