2012-01-10 11 views
3

OpenFileDialogのFilterプロパティに複数の拡張があります。拡張機能を非表示にして説明のみを表示することは可能ですか?C#OpenFileDialogでフィルタ拡張を表示しない

サンプル:拡張文字列が非常に長いため、ファイルの種類コンボボックスで「画像ファイル」:

dialog.Filter = "Image files|*.bmp;*.jpg; many image file extensions here" 

私は、テキストのみを表示したいです。これは可能ですか?あなたは、あなたの質問に書いたようにそれが正確に動作するはずです

答えて

2

これは動作するはずです:

dialog.Filter = "All Supported Audio | *.mp3; *.wma | MP3s | *.mp3 | WMAs | *.wma"; 
    dialog.AutoUpgradeEnabled = false; //using FileDialog.AutoUpgradeEnabled = false it will display the old XP sytle dialog box, which then displays correctly 
    dialog.ShowDialog(); 
0

dialog.Filter = "Image files|*.bmp;*.jpeg;*.jpg;*.png;*.gif" 
+0

いいえ、そうではありません。少なくともWindows 7(とおそらくVistaでも)は、表示されたテキストに自動的に "(* .bmp; * .jpg;その他の拡張子)を付加します。 – Henrik

+0

ああ、ok - それはドキュメントが述べていることではありません...それはXPでもそうではありませんでした。 –

2

この

dialog.Filter = "Image files (*.bmp)|*.bmp;*.jpg" 

は唯一の「画像ファイルを表示します(*。 bmp) "をコンボボックスに表示しながら、指定されたすべての拡張子を持つファイルを表示します。

またはあなたはそれが拡張BMPおよび他のいくつかの拡張子を持つファイルを検索していることを示すために、

dialog.Filter = "Image files (*.bmp;...)|*.bmp;*.jpg" 

を行うことができます。

これはOSによって異なる場合があります。私はWindows 7でテストしました。

0

これはとても簡単です。次のコードスニペットを参照してください。それは完全に実行されます。このように、より多くのファイルタイプを定義することができます。

OpenFileDialog dialog = new OpenFileDialog(); 
dialog.Filter = "JPG Files(*.jpg)|*.jpg|PNG Files(*.png)|*.png|BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|TIFF Files(*.tiff)|*.tiff|All Files(*.*)|*.*"; 

Filterプロパティには2つの部分があります。 "JPGファイル(.jpg)| .jpg"は、ファイルタイプを選択するためのドロップダウンが"JPG Files(*.jpg)"と表示され、パイプ文字の次の部分、つまり*.jpgに対してフィルタが発生することを意味します。

注:*.jpg以降のスペースは使用しないでください。これを使用すると、目的のファイルタイプをフィルタリングできません。

関連する問題