2012-04-25 4 views
135

を使用してファイルを選択します。textbox1という名前のTextBoxとという名前のButtonがあります。 button1をクリックすると、画像ファイル(jpg、png、bmp ...など)のみを検索するためにファイルを参照したいと考えています。 そして、私は、画像ファイルを選択し、ファイルダイアログで[OK]をクリックすると、私はこのようなtextbox1.textに書き込まれるファイルのディレクトリをしたい:そのようなファイルダイアログを開き、WPFコントロールとC#

textbox1.Text = "C:\myfolder\myimage.jpg" 

答えて

333

何かがあなたが

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    // Create OpenFileDialog 
    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 



    // Set filter for file extension and default file extension 
    dlg.DefaultExt = ".png"; 
    dlg.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"; 


    // Display OpenFileDialog by calling ShowDialog method 
    Nullable<bool> result = dlg.ShowDialog(); 


    // Get the selected file name and display in a TextBox 
    if (result == true) 
    { 
     // Open document 
     string filename = dlg.FileName; 
     textBox1.Text = filename; 
    } 
} 
+11

if(result == true)の代わりに(result.HasValue && result.Value) – eflles

+2

@efles公式のサンプルコードであなたの方法が提供する値は何ですかhttp://msdn.microsoft.com/en- us/library/microsoft.win32.openfiledialog.aspx? –

+3

@efllesサンプルは技術的に正しいです。 http://msdn.microsoft.com/en-us/library/2cf62fcy.aspxより:* nullable型との比較を実行する場合、nullable型のいずれかの値がnullであり、もう一方がNULLでない場合、すべての比較が評価されます!=(等しくない)を除いて偽になります。*しかし、これがこの専門性の搾取であるかどうかを議論することができると思います(私は個人的にはこの場合は問題ないと思います)。 –

16
を必要とするものでなければなりません
var ofd = new Microsoft.Win32.OpenFileDialog() {Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif"}; 
var result = ofd.ShowDialog(); 
if (result == false) return; 
textBox1.Text = ofd.FileName; 
関連する問題