Windows Forms hakkında bilgi edinirken ortak uygulamaları yeniden oluşturmak çok faydalı olabilir. Bunu yapmak, temel programlama anlayışınızı güçlendirmenize de yardımcı olabilir. Oluşturabileceğiniz bir uygulama örneği, temel bir dosya yöneticisidir.

Windows Forms'ta Basit Bir Dosya Yöneticisi Uygulaması Nasıl Oluşturulur?

Dosya yöneticisi uygulaması, yaygın Windows klasörlerine (Masaüstü, Belgelerim, Resimler, Müzik ve Videolar) hızlı bağlantılardan oluşmalıdır. Ayrıca dizinlerde yukarı ve aşağı gezinme yeteneğine sahip olmalıdır.

Tuvale UI Öğeleri Nasıl Eklenir?

Öncelikle, Visual Studio’da yeni bir Windows Form uygulaması oluşturun . Tamamlandığında, tuvale dosya yöneticisi için kullanıcı arabirimi öğeleri eklemeye başlayabilirsiniz.

Tuval açıkken Araç Kutusu’nu kullanarak bir Düğme Kullanıcı Arabirimi öğesi arayın.

Bir Windows bilgisayarında bulunan hızlı bağlantıları temsil eden beş düğmeyi sürükleyip bırakın. Bunlar Masaüstü, Belgelerim, Resimler, Müzik ve Videolar klasörlerini temsil edecektir.

Araç kutusunu kullanarak bir WinForms tuvaline beş düğme ekleme

Her düğmeyi sırayla vurgulayın ve Özellikler Penceresine gidin . Her düğmenin Ad Özelliğini ve Metin Özelliğini aşağıdaki değerlerle değiştirin:

Buton

Özellik Adı

Metin Özelliği

1

button_Desktop

Masaüstü

2

button_Documents

Benim dökümanlarım

3

button_Pictures

resimler

4

button_Music

Müzik

5

button_Videos

videolar

Belgelerim değerine sahip düğmelerden birinin Metin özniteliğini göstermek için vurgulanan bir düğme

Toolbox’ı kullanarak bir FlowLayoutPanel UI öğesi arayın .

Tuval üzerine sürükleyip bırakın ve hızlı bağlantıların yanına yerleştirin. Burası, görüntülemekte olduğunuz dizine göre dosyalarınızı ve dizinlerinizi görüntüleyeceğiniz yerdir.

Paneli vurgulayın ve Ad özelliğini “panel_FilesList” olarak değiştirin.

WinForms tuvalinde panel_FilesList adlı yeni bir panel

Geçerli Dosya Yolu Nasıl Elde Edilir

Bir düğmeyi (örneğin, Masaüstü) tıklattığınızda, Masaüstünde bulunan klasörlerin ve dosyaların listesi panelde görüntülenmelidir. Bunun için tıkladığınız klasörün dosya yolunu yani “C:UsersUserDesktop” alabilirsiniz.

Bunun mantığını formun kod arkası C# dosyasına yazın. C# sınıflarına aşina değilseniz, C# içindeki sınıflar hakkında daha fazla bilgi edinebilirsiniz .

Kullanıcı arabirimindeki düğmelerin her birine çift tıklayın. Bu, form için C# dosyası içindeki her düğme için tıklama olayı işlevleri üretecektir. İlgili düğmeyi tıkladığınızda bu işlevler çalışacaktır.

private void button_Desktop_Click(object sender, EventArgs e)

{

}

private void button_Documents_Click(object sender, EventArgs e)

{

}

private void button_Pictures_Click(object sender, EventArgs e)

{

}

private void button_Music_Click(object sender, EventArgs e)

{

}

private void button_Videos_Click(object sender, EventArgs e)

{

}

Masaüstü gibi özel bir Windows dizininin dosya yolunu almak için Environment.GetFolderPath() yöntemini kullanın. Bu, klasör için bir dosya yolu dizesi döndürür, örneğin, “C:UsersUserDesktop”. Bunu her işleve ekleyin ve filepath değerini daha sonra oluşturacağınız DisplayFiles() adlı başka bir işleve iletin.

public Form1()

{

  InitializeComponent();

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.Desktop));

}

private void button_Desktop_Click(object sender, EventArgs e)

{

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.Desktop));

}

private void button_Documents_Click(object sender, EventArgs e)

{

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments));

}

private void button_Pictures_Click(object sender, EventArgs e)

{

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures));

}

private void button_Music_Click(object sender, EventArgs e)

{

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyMusic));

}

private void button_Videos_Click(object sender, EventArgs e)

{

  DisplayFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyVideos));

}

Seçilen Dizin İçin Dosyalar Nasıl Oluşturulur

Tıkladığınız Masaüstü, Belgelerim, Resimler, Müzik veya Videolar düğmesine bağlı olarak bir dosya listesi görüntüleyin.

Dosyanın en üstündeki System.IO ad alanını içe aktarın.

using System.IO;

Seçilen bir dizinin dosya ve klasörlerini görüntülemek için DisplayFiles() adlı yeni bir işlev oluşturun .

private void DisplayFiles(string filePath)

{

  // Code to display the files and folders inside the directory

}

Yeni DisplayFiles() işlevinin içinde, seçilen klasör içindeki tüm dizinlerin ve dosyaların bir listesini derleyin.

string[] filesList = Directory.GetDirectories(filePath).Concat(Directory.GetFiles(filePath)).ToArray();

Dosya ve dizin listesini görüntüleyen panelin boş olduğundan emin olun.

panel_FilesList.Controls.Clear();

Geçerli dizini genel bir değişkende saklayın.

currentLocation = filePath;

Global değişkeni sınıfın en üstünde bildirin.

stringcurrentLocation = “”;

DisplayFiles() işlevinde, her dizin ve dosya için bir düğme oluşturun. Bir for döngüsünde, adı dosya yolunun geri kalanından ayırın. Düğmenin metni olarak dosyanın veya dizinin adını kullanarak programlı olarak yeni bir düğme oluşturun.

for (int i = 0; i < filesList.Length-1; i++)

{

  bool isHidden = ((File.GetAttributes(filesList[i]) & FileAttributes.Hidden) == FileAttributes.Hidden);

  if (!isHidden)

  {

    // Get the name of the file from the path

    var startOfName = filesList[i].LastIndexOf(“\”);

    var fileName = filesList[i].Substring(startOfName + 1, filesList[i].Length – (startOfName + 1));

    // Display the file or folder as a button

    Button newButton = new Button();

    newButton.Text = fileName;

    newButton.Name = filesList[i];

    newButton.Location = new Point(70, 70);

    newButton.Size = new Size(800, 100);

    newButton.TextAlign = ContentAlignment.MiddleLeft;

    newButton.Padding = new Padding(24, 0, 0, 0);

    panel_FilesList.Controls.Add(newButton);

  }

}

Programı çalıştırmak için Visual Studio’nun üstündeki oynat düğmesine basın.

Visual Studio projesinin üst kısmındaki yeşil düğme

Hızlı bağlantılardan herhangi birine tıklayın. Örneğin, Belgelerim’e tıklarsanız, sağdaki panel, Belgelerim klasöründeki dosya ve klasörlerin bir listesiyle doldurulmalıdır .

Çalışma zamanında Belgelerim klasöründeki dosya ve dizinlerin listesi

Örneğin Videolar gibi başka bir hızlı bağlantıya tıklarsanız, panel temizlenmeli ve Videolar klasöründeki dosya ve klasörleri gösterecek şekilde değişmelidir .

Çalışma zamanında Videolar klasöründeki dosya ve dizinlerin listesi

Dizinlerde Yukarı ve Aşağı Gezinme

Listede görüntülenen bir klasöre tıkladığınızda bir dizinde aşağı inecek şekilde kodu değiştirin. Önceki klasöre geri gitmek için bir geri düğmesi de oluşturabilirsiniz.

Bir dizinde aşağı gitmek için button_Click_Open() adlı yeni bir işlev oluşturun . Kullanıcı listedeki bir dizine tıklarsa, program o dizindeki dosyaları görüntülemek için DisplayFiles() işlevini çağırır. Kullanıcı bunun yerine bir dosyaya tıklarsa, program dosyayı açacaktır.

private void button_Click_Open(object sender, EventArgs e)

{

  Button button = (Button)sender;

  string filePath = button.Name;

  try

  {

    // If a directory clicked, reload list of files in new directory

    DisplayFiles(filePath);

  }

  catch (Exception ex)

  {

    // If file clicked, open the file

    var process = new System.Diagnostics.Process();

    process.StartInfo = new System.Diagnostics.ProcessStartInfo() { UseShellExecute = true, FileName = filePath };

    process.Start();

  }

}

DisplayFiles() işlevinde , kodun yeni bir düğme oluşturan kısmını değiştirin. Yeni button_Click_Open() işlevini Click olayına eklemek için düğmeyi oluşturduktan sonra yeni bir satır ekleyin .

newButton.Click += button_Click_Open;

Bir dizini yedeklemek için bir geri düğmesi oluşturun. Tuvalde, Araç Kutusu’nu kullanarak yeni bir düğmeyi tıklayıp sürükleyin.

Araç kutusu aracılığıyla tuvale sürüklenen yeni geri düğmesi

Yeni Geri düğmesini vurgulayın . Özellikler penceresinde, Metin özelliğini “< Geri” olarak değiştirin.

Tuvalde geri düğmesi yeniden adlandırıldı

Kullanıcı geri düğmesine tıkladığında tetiklenecek bir tıklama olayı işlevi oluşturmak için Geri düğmesine çift tıklayın.

private void back_Click(object sender, EventArgs e)

{

}

İşlevin içinde, bir düzey üstteki klasörün dosya yolunu bulun ve yukarıdaki klasör için dosya ve dizinleri görüntüleyin.

var previousFolder = this.currentLocation.Substring(0, this.currentLocation.LastIndexOf(“\”));

DisplayFiles(previousFolder);

Programı çalıştırmak için Visual Studio’nun üst kısmındaki oynat düğmesine tekrar basın. Klasörlerin veya dosyaların listesini görüntülemek için hızlı bağlantılardan herhangi birine tekrar tıklayın.

Çalışma zamanında Resimler klasörü için dosya ve dizinlerin listesi

Panelin içinde, bir dizini aşağı taşımak için bir klasöre tıklayın.

Bir klasörde aşağı indikten sonra dosya ve dizin listesi

Önceki dizine geri gitmek için geri düğmesine tıklayın.

Çalışma zamanında Resimler klasörü için dosya ve dizinlerin listesi

Windows Forms Kullanarak Masaüstü Uygulamaları Oluşturma

Dosya yöneticisi, Windows Form uygulaması oluşturmayı öğrenirken oluşturabileceğiniz basit bir uygulamadır. Diğer çeşitli düğmelerle birlikte bir paneli sürükleyip tuvale bırakmak için Araç Kutusu’nu kullanabilirsiniz.

Artık uygulamanız ana işlevselliğe sahip olduğuna göre, Dosya Yöneticisinin tasarımını iyileştirmek için düğme özelliklerini değiştirmekten çekinmeyin.

Windows Forms uygulamaları hakkında bilgi edinirken oluşturabileceğiniz diğer başlangıç ​​uygulamalarından bazılarını keşfedin.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir