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 [C#] public string Filter {get; set;} [C++] public: __property String* get_Filter(); public: __property void set_Filter(String*); [JScript] public function get Filter() : String; public function set Filter(String);
Property Value
The file filtering options available in the dialog box.
Exceptions
| Exception Type | Condition |
|---|---|
| ArgumentException | Filter format is invalid. |
Remarks
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.
Example
[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. myStream.Close() End If End If End Sub [C#] 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. myStream.Close(); } } } [C++] protected: 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. myStream->Close(); } } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
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