FileDialog.Filter 屬性


取得或設定目前的檔名篩選字串,以決定出現在對話方塊中 [另存檔案類型] 或 [檔案類型] 方塊的選項。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.

 property System::String ^ Filter { System::String ^ get(); void set(System::String ^ value); };
public string Filter { get; set; }
member this.Filter : string with get, set
Public Property Filter As String


在對話方塊中可以使用檔案篩選選項。The file filtering options available in the dialog box.


Filter 格式是無效的。Filter format is invalid.


下列程式碼範例會使用OpenFileDialogFileDialog執行, 並說明如何建立、設定屬性, 以及顯示對話方塊。The following code example uses the OpenFileDialog implementation of FileDialog and illustrates creating, setting of properties, and showing the dialog box. 此範例會使用FilterFilterIndex屬性來提供使用者的篩選器清單。The example uses the Filter and FilterIndex properties to provide a list of filters for the user. 此範例需要一個表單Button , System.IO並在其中加上並加入命名空間。The example requires a form with a Button placed on it and the System.IO namespace added to it.

   void button1_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
      Stream^ myStream;
      OpenFileDialog^ openFileDialog1 = gcnew OpenFileDialog;

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

      if ( openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK )
         if ( (myStream = openFileDialog1->OpenFile()) != nullptr )
            // Insert code to read the stream here.
var fileContent = string.Empty;
var filePath = string.Empty;

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

    if (openFileDialog.ShowDialog() == DialogResult.OK)
        //Get the path of specified file
        filePath = openFileDialog.FileName;

        //Read the contents of the file into a stream
        var fileStream = openFileDialog.OpenFile();

        using (StreamReader reader = new StreamReader(fileStream))
            fileContent = reader.ReadToEnd();

MessageBox.Show(fileContent, "File Content at path: " + filePath, MessageBoxButtons.OK);
Private Sub button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim myStream As Stream = Nothing
    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() = System.Windows.Forms.DialogResult.OK Then
            myStream = openFileDialog1.OpenFile()
            If (myStream IsNot Nothing) Then
                ' Insert code to read the stream here.
            End If
        Catch Ex As Exception
            MessageBox.Show("Cannot read file from disk. Original error: " & Ex.Message)
            ' Check this again, since we need to make sure we didn't throw an exception on open.
            If (myStream IsNot Nothing) Then
            End If
        End Try
    End If
End Sub


針對每個篩選選項, 篩選字串會包含篩選準則的描述, 後面接著分隔號 (|) 和篩選模式。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 (*.*)|*.*

FilterIndex使用屬性來設定要先向使用者顯示的篩選選項。Use the FilterIndex property to set which filtering option is shown first to the user.