14 Nisan 2009 Salı

C# openFileDialog Kontrolü


Bu kontrol sayesinde kullanıcılar windows'un kullandığı ortak iletişim formlarını kullanarak dosya yükleme işlemlerini gerçekleştire bilirler. 

- openFileDialog.ShowDialog()

openDialog pencerisinin açılmasını sağlayan koddur. Bir butonun click olayına yazıldığında dosya windows'un bilindik dosya açma ekranı karşımıza çıkar.

private void button1_Click(object sender, EventArgs e)
    {
       openFileDialog1.ShowDialog();
                                                                                                                  }


- openFileDialog1.Title()

openFileDialog penceresinin başlığını belirler. openFileDialog1.ShowDialog() komutundan önce kullanılmalıdır. Çünkü pencere açıldıktan sonra Title' a değer atasanız bile formun başlığı değişmeyecektir.

 private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.ShowDialog();
  }


- openFileDialog1.Filter()

openFileDialog penceresindesadece belirli uzantılı dosyaların listelenmesini istiyorsanız bu kodu kullanmalısınız.

  private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.Filter = " (*.jpg)|*.jpg|(*.png)|*.png";
  openFileDialog1.ShowDialog();
  }

Burada sadece jpg ve png uzantılı dostaların listelenmesini istiyorum.

- openFileDialog1.FilterIndex()

Filtreleme yaparken varsayılan olarak hangisinin kullanılacağını belirler. Mesela openDialog penceresi ilk açıldığın varsayılan olarak belirlenen değer jpg ise önce jpg resimler çıkar.

  private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.Filter = " (*.jpg)|*.jpg|(*.png)|*.png";
  openFileDialog1.FilterIndex = 1;
// varsayılan olarak jpg uzantıları göster
  openFileDialog1.ShowDialog();
  }


- openFileDialog1.InitialDirectory

openFileDialog penceresinin varsayılan olarak açılması istenilen klasörün yolunu belirler.

 private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.Filter = " (*.jpg)|*.jpg|(*.png)|*.png";
  openFileDialog1.FilterIndex = 1;
  openFileDialog1.InitialDirectory="C:\\Documents and Settings\\Emrah\\Desktop\\blog";
  openFileDialog1.ShowDialog();
  }


- openFileDialog1.Multiselect

True değeri aktarılırsa openDialog penceresinde shift tuşuna basarak birden fazla dosya seçilebilinir.

private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.Filter = " (*.jpg)|*.jpg|(*.png)|*.png";
  openFileDialog1.FilterIndex = 1;
  openFileDialog1.InitialDirectory="C:\\Documents and Settings\\Emrah\\Desktop\\blog";
  openFileDialog1.Multiselect = true;
  openFileDialog1.ShowDialog();
  }

- openFileDialog1.FileNames

seçilen dosyanın yolunu belirler. Mesela seçilen dosyanın yolunu bir textbox a yazdıralım.

private void button1_Click(object sender, EventArgs e)
  {
  openFileDialog1.Title = "Lütfen Dozya Seçiniz";
  openFileDialog1.Filter = " (*.jpg)|*.jpg|(*.png)|*.png";
  openFileDialog1.FilterIndex = 1;
  openFileDialog1.InitialDirectory="C:\\Documents and Settings\\Emrah\\Desktop\\blog";
  openFileDialog1.Multiselect = true;
  openFileDialog1.ShowDialog();
  foreach (string str in openFileDialog1.FileNames)
  textBox1.Text = str;
  }

Benzer Yazılar

21 yorum:

  1. Umarım Biraz olsun yardımcı olabilmişimdir.

    YanıtlaSil
  2. seçilen bu dosyayı datagride eklemem gerekiyor bunu nasıl yapabilirim
    string cs = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=\"Excel 12.0 Xml;HDR=YES\";", @"C:\Documents and Settings\hhark\Belgelerim\a.xlsx ");
    OleDbConnection _cn = new OleDbConnection(cs);

    OleDbCommand _cmd = new OleDbCommand("SELECT * FROM [Sayfa1$]", _cn);
    OleDbDataAdapter _da = new OleDbDataAdapter(_cmd);
    DataTable _dt = new DataTable();
    _cn.Open();
    _da.Fill(_dt);
    _cn.Close();
    dataGridView1.DataSource = _dt;

    şeklinde yapıyordum dizin belirttiğim yere bunu nasıl uygularım? yardımcı olurmusunuz

    YanıtlaSil
  3. Seçilen dosyan excel dosyasımı? Tam anlayamadım... Eğer excel dosyasıysa seçilen dosyanın adını ve uzantısını textbox tan al ve bir bağlantı yoluyla yeniden çağır... Bilmem anlatabildim mi?

    YanıtlaSil
  4. Emrah abii herşey hoş güzelde iptala tıkladıgımızda hata veriyor :(

    YanıtlaSil
  5. kodu bana yollarsan sana yardımcı olabilirim...
    İptal butonuna tıklandığında programın ne yapacağını yazman gerekiyor olabilir...

    YanıtlaSil
  6. foreach (string str in penFileDialog1.FileNames)
    textBox1.Text = str;

    bu kısım çok işime yaradı sonsuz teşekkürler..

    YanıtlaSil
  7. Kodları yapıştırdığımda
    openFileDialog1. 'in varolmadığı uyarısını veriyor program.
    nasıl düzeltebilirim

    YanıtlaSil
  8. önce formuna openFileDialog1 sürükleyip bırakmalısın. Nereden sürükleyeceğim diyorsan yandaki tools bardan sürükleyeceksin

    YanıtlaSil
  9. Teşekkür ederim çok faydalı oldu

    YanıtlaSil
  10. Filtere txt yapıyorum ancak pencerede metin dosyalarını görmüyor ne yapmam gerekli kodları yazıyorum


    openFileDialog1.Title = "Lütfen Dosya Seçiniz";
    openFileDialog1.Filter = " Tüm Dosyalar |*.txt ";
    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {

    FileInfo dosya = new FileInfo(openFileDialog1.FileName.ToString());
    StreamReader oku = dosya.OpenText();

    textBox1.Text = oku.ReadToEnd();
    }

    YanıtlaSil
  11. OpenDialog1.Title:="Dosya Seçiniz";
    OpenDialog1.DefaultExt:='txt';
    OpenDialog1.Filter:='Tüm Dosyalar|*.*|Text Dosyaları|*.txt';//filtrele
    OpenDialog1.Execute;


    Bu şekilde bir dene... Olmazsa sorunu yaz elimden geldiğince yardımcı olmaya çalışırım.
    ayrıca http://www.scribd.com/doc/50303998/170/OpenDialog-Kontrolu Şu adrese bir göz at...

    YanıtlaSil
  12. Türkçe karakter desteğini nasıl sağlayabiliriz.

    YanıtlaSil
  13. türkçe karakter desteğiyle ne demek istediGini anlayamadım. Tam olarak sorununu belirtirsen sana yardımcı olmaya çalışırım...

    YanıtlaSil
  14. çok Saol... Bunu Pictureboxa nasıl aktarırız ?

    YanıtlaSil
    Yanıtlar
    1. Uygulama alanın web mi yoksa masaüstü program mı? Belirtirsen sana uygulama örneği yollayabilirim...

      Sil
  15. çok teşekkürler

    YanıtlaSil
  16. foreach (string str in openFileDialog1.FileNames)
    textBox1.Text = str;

    kodunu

    foreach (string str in openFileDialog1.FileNames)
    listbox.items.add(str);

    olarak kullanılırsa daha mantıklı olur :)

    yok diyorsanız
    textbox.text= openfiledialog1.filename;

    kullanmanız daha mantıklı iyi çalışmalar.

    YanıtlaSil
  17. bilgine sağlık, çok ince bir noktaya değinmişsin filedialog açıldıktan sonra property mi değiştirilirmiş :))

    YanıtlaSil
  18. goley hack a yardım ediyormu

    YanıtlaSil
  19. hoca burdan imagelist'e resim ekleyebilirmiyim ?

    YanıtlaSil