Bu yazımızda System.IO sınıfını kullanarak OpenFileDialog kullanarak seçmiş olduğumuz dosyayı, FolderBrowserDialog ile seçmiş olduğumuz klasör içerisine kopyalamayı gösteren bir örnek oluşturacağız. Örneğimizde seçmiş olduğumuz dosya eğer hedef klasörde mevcut ise aynı isimde bir dosyanın mevcut olduğunun mesajını vereceğiz. Eğer dosya hedef klasörde bulunmuyorsa kopyalama işlemini gerçekleştireceğiz.
Aşağıda projenin bazı durumlar için ekran çıktılarını görüyorsunuz.
Form tasarımını aşağıdaki gibi oluşturarak projemize başlayalım.
Şimdi kodlarımıza geçelim. Öncelikle aşağıdaki satırı projemize ekleyeceğiz.
1 2 3 | using System.IO; |
Daha sonra global olarak aşağıdaki değişkenleri tanımlayacağız.
1 2 3 | string kaynakDosya = "", kaynakDosyaIsmi = "", hedefKlasor = ""; |
Kullanıcının seçilen dosya yollarında herhangi bir değişiklik yapmamı için kullanılan textBox’ ların Enabled özelliklerini pasif hale getiriyoruz. Bu işlemi Form yüklendiğinde gerçekleştireceğiz.
1 2 3 4 5 6 7 | private void Form1_Load(object sender, EventArgs e) { textBox1.Enabled = false; textBox2.Enabled = false; } |
Kaynak butonu için kodlarımız;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | private void button1_Click(object sender, EventArgs e) { openFileDialog1.Title = "Kopyalanacak Dosyayı Seçiniz..."; openFileDialog1.FileName = ""; if (openFileDialog1.ShowDialog() == DialogResult.OK) { kaynakDosyaIsmi = openFileDialog1.SafeFileName.ToString(); kaynakDosya = openFileDialog1.FileName.ToString(); textBox1.Text = kaynakDosya; } else { MessageBox.Show("Dosya Seçmediniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } |
Hedef butonu için kodlarımız;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | private void button2_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { hedefKlasor = folderBrowserDialog1.SelectedPath.ToString(); textBox2.Text = hedefKlasor; } else { MessageBox.Show("Dosyanın Kopyalanacağı Klasörü Seçmediniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } |
Dosyayı Kopyala butonu için kodlarımız;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | private void button3_Click(object sender, EventArgs e) { if (hedefKlasor != "" && kaynakDosya != "") { if (File.Exists(hedefKlasor + "\\" + kaynakDosyaIsmi)) { MessageBox.Show("Belirtilen klasörde " + kaynakDosyaIsmi + " isimli dosya zaten mevcut...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { File.Copy(kaynakDosya, hedefKlasor + "\\" + kaynakDosyaIsmi); MessageBox.Show("Dosya Kopyalama İşlemi Başarılı", "Dosya Kopyalandı..."); } } } |
Kodlarımızın Tamamı:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace dosya_kopyalama { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { textBox1.Enabled = false; textBox2.Enabled = false; } private void button3_Click(object sender, EventArgs e) { if (hedefKlasor != "" && kaynakDosya != "") { if (File.Exists(hedefKlasor + "\\" + kaynakDosyaIsmi)) { MessageBox.Show("Belirtilen klasörde " + kaynakDosyaIsmi + " isimli dosya zaten mevcut...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { File.Copy(kaynakDosya, hedefKlasor + "\\" + kaynakDosyaIsmi); MessageBox.Show("Dosya Kopyalama İşlemi Başarılı", "Dosya Kopyalandı..."); } } } string kaynakDosya = "", kaynakDosyaIsmi = "", hedefKlasor = ""; private void button2_Click(object sender, EventArgs e) { if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { hedefKlasor = folderBrowserDialog1.SelectedPath.ToString(); textBox2.Text = hedefKlasor; } else { MessageBox.Show("Dosyanın Kopyalanacağı Klasörü Seçmediniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } private void button1_Click(object sender, EventArgs e) { openFileDialog1.Title = "Kopyalanacak Dosyayı Seçiniz..."; openFileDialog1.FileName = ""; if (openFileDialog1.ShowDialog() == DialogResult.OK) { kaynakDosyaIsmi = openFileDialog1.SafeFileName.ToString(); kaynakDosya = openFileDialog1.FileName.ToString(); textBox1.Text = kaynakDosya; } else { MessageBox.Show("Dosya Seçmediniz...", "Uyarı..!", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } } } |
merhaba, konu ile ilgili yardım rica edebilir miyim?
merhabalar bunu network için yapmak istesek, kullanıcı adı ve pass isterse nasıl giriş yapabiliriz?
bir cozum buldunuz mu? aynı islemi yapmaya calısıyorum.
Hocam bana bu konuda yardımcı olabilir misiniz ?
Hocam iletişim kısmı bulamadım.Bu projeyle ilgili görüşmem gerek.Bana en kısa zamanda dönüş sağlarsanız sevinirim.
Konu nedir? Çok vakit almayacak bir sorun ise yardımcı olmaya çalışırım.