Selam Webkolog okurları! Bugün sizlere C# .Net Framework 4 ile Visual Studio 2010 ortamında sıkça ihtiyaç duyduğumuz Dialog Controls'ü yakından tanıyacağız. Özellikle masaüstü uygulamaları geliştirirken kullanıcıyla etkileşim kurmanın ve belirli işlemleri kolaylaştırmanın vazgeçilmez araçları olan bu kontrolleri, basit örneklerle adım adım inceleyeceğiz. Hazırsanız, Visual Studio 2010'u açın ve yeni bir Windows Forms Application projesi oluşturarak kod dünyasına dalalım!
Dialog Controls Nedir?
Dialog Controls, kullanıcıya belirli bir işlem
hakkında bilgi vermek, onlardan girdi almak veya bir seçim yapmalarını sağlamak
amacıyla kullanılan özel pencere öğeleridir. .Net Framework, geliştiricilere
hazır olarak sunulan çeşitli dialog kontrolleri sayesinde bu etkileşimleri
kolayca yönetebiliriz. En sık kullanılan dialog kontrollerinden bazıları şunlardır:
- OpenFileDialog: Kullanıcının bilgisayarından bir dosya seçmesini sağlar.
- SaveFileDialog: Kullanıcının bir dosyayı belirli bir konuma kaydetmesini sağlar.
- ColorDialog: Kullanıcının bir renk seçmesini sağlar.
- FontDialog: Kullanıcının bir yazı tipi ve özelliklerini seçmesini sağlar.
- FolderBrowserDialog: Kullanıcının bir klasör seçmesini sağlar.
Şimdi bu kontrolleri basit örneklerle nasıl kullanacağımıza göz atalım.
1. OpenFileDialog ile
Dosya Açma
Uygulamalarımızda kullanıcıların bir dosya seçmesine
ihtiyaç duyabiliriz. Örneğin, bir resim düzenleme uygulamasında kullanıcının
açmak istediği resmi seçmesi gerekir. İşte OpenFileDialog kontrolünü kullanarak
basit bir resim açma işlemini gerçekleştiren C# kodu:
// PictureBox kontrolümüzün ve OpenFileDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnOpenFile_Click(object sender, EventArgs e)
{
openFileDialog1.Filter = "PNG Image|*.png|JPEG Image|*.jpg|Bitmap Image|*.bmp|GIF Image|*.gif";
openFileDialog1.Title = "Bir Resim Dosyası Aç";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string ext = System.IO.Path.GetExtension(openFileDialog1.FileName);
System.Drawing.Imaging.ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;
switch (ext)
{
case ".jpg":
format = System.Drawing.Imaging.ImageFormat.Jpeg;
break;
case ".bmp":
format = System.Drawing.Imaging.ImageFormat.Bmp;
break;
case ".gif":
format = System.Drawing.Imaging.ImageFormat.Gif;
break;
case ".png":
format = System.Drawing.Imaging.ImageFormat.Png;
break;
}
pictureBox1.Load(openFileDialog1.FileName);
}
}
Bu kodda, bir butonun (btnOpenFile) Click olayında OpenFileDialog kontrolünün ShowDialog() metodu ile bir dosya seçme penceresi açıyoruz. Kullanıcı "Tamam" butonuna tıkladığında (DialogResult.OK), seçilen dosyanın adını (openFileDialog1.FileName) alıp, dosya uzantısına göre uygun resim formatını belirliyoruz ve PictureBox kontrolümüzde bu resmi yüklüyoruz. Filter özelliği ile kullanıcının görebileceği dosya türlerini belirtmeyi ve Title özelliği ile pencere başlığını ayarlamayı unutmayın.
2. SaveFileDialog ile
Dosya Kaydetme
Kullanıcının yaptığı değişiklikleri veya oluşturduğu
verileri kaydetmesi için SaveFileDialog kontrolünü kullanırız. Aşağıdaki
örnekte, bir PictureBox kontrolündeki resmi farklı formatlarda kaydetmeyi
gösteriyoruz:
// PictureBox kontrolümüzün ve SaveFileDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnSaveFile_Click(object sender, EventArgs e)
{
saveFileDialog1.Filter = "PNG Image|*.png|JPEG Image|*.jpg|Bitmap Image|*.bmp|GIF Image|*.gif";
saveFileDialog1.Title = "Bir Resim Dosyası Kaydet";
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
string ext = System.IO.Path.GetExtension(saveFileDialog1.FileName);
System.Drawing.Imaging.ImageFormat format = System.Drawing.Imaging.ImageFormat.Jpeg;
switch (ext)
{
case ".jpg":
format = System.Drawing.Imaging.ImageFormat.Jpeg;
break;
case ".bmp":
format = System.Drawing.Imaging.ImageFormat.Bmp;
break;
case ".gif":
format = System.Drawing.Imaging.ImageFormat.Gif;
break;
case ".png":
format = System.Drawing.Imaging.ImageFormat.Png;
break;
}
pictureBox1.Image.Save(saveFileDialog1.FileName, format);
}
}
Bu kod da OpenFileDialog'a benzer şekilde çalışır. Kullanıcı kaydetme penceresinde bir dosya adı ve konumu seçip "Kaydet" butonuna tıkladığında, seçilen dosya adına ve uzantısına göre PictureBox'taki resmi kaydediyoruz.
3. ColorDialog ile Renk
Seçimi
Kullanıcının uygulama içerisinde bir renk seçmesini
sağlamak için ColorDialog kontrolünü kullanabiliriz. Örneğin, bir metin
düzenleme uygulamasında metin rengini değiştirmek için:
// RichTextBox kontrolümüzün ve ColorDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnChangeColor_Click(object sender, EventArgs e)
{
if (colorDialog1.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionColor = colorDialog1.Color;
}
Bu basit kod bloğu, ColorDialog'u gösterir ve kullanıcı bir renk seçip "Tamam" dediğinde, seçilen rengi RichTextBox kontrolünün seçili metninin rengi olarak ayarlar.
4. FontDialog ile Yazı
Tipi Seçimi
Uygulamalarımızda metinlerin yazı tipini, boyutunu ve
stilini kullanıcıların belirlemesini isteyebiliriz. Bu durumda FontDialog
kontrolü devreye girer:
// RichTextBox kontrolümüzün ve FontDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnChangeFont_Click(object sender, EventArgs e)
{
if (fontDialog1.ShowDialog() == DialogResult.OK)
richTextBox1.SelectionFont = fontDialog1.Font;
}
Tıpkı ColorDialog gibi, FontDialog da kullanıcıya bir yazı tipi seçme penceresi sunar ve seçilen yazı tipini RichTextBox kontrolünün seçili metnine uygular.
5. FolderBrowserDialog
ile Klasör Seçimi
Kullanıcının bir klasör seçmesini istediğimiz durumlarda
FolderBrowserDialog kontrolünü kullanırız. Örneğin, bir yedekleme uygulamasında
yedeklenecek klasörü seçmek için:
// FolderBrowserDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnSelectFolder_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
MessageBox.Show("Seçilen Klasör: " + folderBrowserDialog1.SelectedPath);
}
Bu kod, FolderBrowserDialog'u gösterir ve kullanıcı bir klasör seçip "Tamam" dediğinde, seçilen klasörün yolunu bir mesaj kutusu ile gösterir. folderBrowserDialog1.SelectedPath özelliği seçilen klasörün tam yolunu bize verir.
6. Metin Dosyası Kaydetme
Örneği
Son olarak, sıkça ihtiyaç duyulan bir senaryo olan
metin dosyası kaydetme işlemini SaveFileDialog ve StreamWriter kullanarak nasıl
yapacağımıza bakalım:
// TextBox kontrolümüzün ve SaveFileDialog kontrolümüzün form üzerine eklendiğini varsayalım.
private void btnSaveTextFile_Click(object sender, EventArgs e)
{
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Metin Dosyası|*.txt";
save.OverwritePrompt = true;
save.CreatePrompt = true;
if (save.ShowDialog() == DialogResult.OK)
{
System.IO.StreamWriter Kayit = new System.IO.StreamWriter(save.FileName);
Kayit.WriteLine(textBox1.Text);
Kayit.Close();
}
}
Bu kodda, SaveFileDialog nesnesi oluşturulur ve kaydedilecek dosya türü için bir filtre (Filter) belirlenir. OverwritePrompt özelliği ile dosya zaten varsa üzerine yazma onayı istenirken, CreatePrompt özelliği ile dosya yoksa oluşturma onayı istenir. Kullanıcı "Kaydet" dediğinde, seçilen dosya adına bir StreamWriter nesnesi oluşturulur, TextBox kontrolündeki metin dosyaya yazılır ve dosya kapatılır.
Evet Webkolog takipçileri, C# .Net Framework 4 ve Visual Studio 2010 ile Dialog Controls'ün temel kullanımını bu şekilde özetleyebiliriz. Bu kontroller, kullanıcı dostu arayüzler geliştirirken bizlere büyük kolaylıklar sağlar. Umarım bu örnekler, projelerinizde bu kontrolleri etkin bir şekilde kullanmanıza yardımcı olur.
Webkolog'u takipte kalın!
Hepinize bol kodlu ve başarılı projeler dilerim!
0 yorum:
Yorum Gönder