C# – Dialog Boxes (FontDialog, ColorDialog, OpenDialog, SaveDialog) Kullanımı

C#’da Windows Form uygulamalarının temel sınıfı olan Dialog Boxes (İletişim Kutuları), uygulama ile kullanıcı arasında ortak bir iletişim veya diyalog sağlamak için kullanılan pencerelere verilen addır.

Diyalog kutularını genellikle kullanıcıya bir komutun nasıl uygulanacağını veya bir soruya nasıl cevap vereceğini sormamız gerektiğinde kullanırız.

En basit Dialog Box (İletişim kutusu) türü, kullanıcıya mesaj sunan ve sunduğu mesaja göre kullanıcıdan cevap bekleyen iletişim kutusudur yani MessageBox’dır.

Detaylı Bilgi: https://alkanfatih.com/messagebox-kullanimi-ve-ozellikleri/

Örnek MessageBox-DialogBox Kullanımı

DialogResult res = MessageBox.Show("Silmek için emin misiniz?", "Dikkat", 
MessageBoxButtons.OKCancel, MessageBoxIcon.Information);
if (res == DialogResult.OK)
{
    MessageBox.Show("OK Butonuna tıklandı");
    //Ok butonuna tıklanınca çalışacak komutlar...  
}
else if (res == DialogResult.Cancel)
{
    MessageBox.Show("Cancel Butonuna tıklandı");
    //Cancel butonuna tıklanınca çalışacak komutlar...  
}

Dialog Boxes (iletişim kutuları), MessageBox ile olan standart kullanımından daha çok, dosya kaydetme, yazı tipi seçimi, renk seçimi, dosya açma vb. kullanıcı işlemlerini gerçekleştirmek için kullanılır. Şimdi hep birlikte en sık kullanılan türleri inceleyelim.

En Sık Kullanılan Dialog Box (İletişim Kutuları)

  • OpenDialog (Dosya açma)
  • SaveDialog (Dosya kaydetme)
  • FontDialog (Yazı tipi seçimi)
  • ColorDialog (Renk seçimi)

Open File Dialog Box Kullanımı

OpenFileDialog, bir uygulamada kullanıcıya seçim yaptığı dosyayı açabilmesini sağlayan penceredir.

Örnek Kullanım: Open File Dialog ve Save File Dialog kontrollerimizi bir arada kullanarak bir uygulama yapacağız. Öncelikli olarak OpenFileDialog kullanarak seçtiğimiz fotoğrafı formumuza yükleyeceğiz daha sonra SaveFileDialog kullanarak yüklenen fotoğrafı seçtiğimiz yere, seçtiğimiz uzantıda kayıt edeceğiz. (Windows Form uygulamamızda, 1 adet PictureBox (Resmi görüntülemek için), 1 adet TextBox (Resmin adını görüntülemek için) ve 2 adet Buton (Resmi açmak ve yüklemek için) kullanacağız)

Buton Yükle Click Event:

OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Resim Dosyasını Aç";
//Açılan Dialog Penceresine verilen isim.
ofd.Filter = "PNG Files (*.png) | *.png | JPG Files (*.jpg) | *.jpg | All Files(*.*) | *.*";
//Dosya seçiminde uzantılarda filtre uyguluyoruz.
ofd.FilterIndex = 1;
//Varsayılan filitre'yi 1. sırada olan uzantıyı atıyoruz.
DialogResult dr = ofd.ShowDialog();
if (dr == DialogResult.OK)
{
    string DosyaYolu = ofd.FileName;
    // seçilen dosyanın tüm yolunu verir
    string DosyaAdi = ofd.SafeFileName;
    // sçeilen dosyanın adını verir.

    pictureBox1.ImageLocation = DosyaYolu;
    textBox1.Text = DosyaAdi;
}

Save File Dialog Box

SaveFileDialog, bir uygulamada kullanıcıya bir dosya seçtirip belirlenen hedefe kaydettirilmesi için kullanılır.

Örnek Kullanım: OpenFileDialog kullanarak yüklediğimiz resmi, SaveFileDialog kullanarak yeni bir isim verip seçtiğimiz uzantıda seçtiğimiz yere kayıt edelim.

Buton Kaydet Click Event:

SaveFileDialog saveFileDialog1 = new SaveFileDialog();

saveFileDialog1.Title = "Dosya Kaydet";
saveFileDialog1.Filter = "PNG Files (*.png) | *.png | JPG Files (*.jpg) | *.jpg | All Files(*.*) | *.*";
saveFileDialog1.FilterIndex = 1;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
    string uzanti = System.IO.Path.GetExtension(saveFileDialog1.FileName);
    //Seçilen dosya uzantısını yakala.
    ImageFormat format = ImageFormat.Png;
    //Dosyayı kaydetmek varsayılan image format'ı oluştur.
    switch (uzanti)
    {
        case ".jpg":
            format = ImageFormat.Jpeg;
            break;
        case ".bmp":
            format = ImageFormat.Bmp;
            break;

        //Kullanıcının seçtiği formatı ImageFormat yükle.
    }
    pictureBox1.Image.Save(saveFileDialog1.FileName, format);
    //PictureBox'ta ki resmi SaveFile Dialog ile seçilen yere, seçili formatta kaydet.
}

Örnek Uygulamanın Form1 .cs dosyasını indirin.

Font and Color Dialog Boxes

FontDialogBox, kullanıcının font ayarlarını seçmesine izin vermek için kullanılır. ColorDialogBox, kullanıcının bir renk seçmesine izin vermek için kullanılır.

Örnek Kullanım: Form üzerinde bulunan TextBox’daki veriyi FontDialogBox ve ColorDialogBox kullanarak fontunu ve rengini değiştireceğiz.

private void btn_font_Click(object sender, EventArgs e)
{
    FontDialog fdlg = new FontDialog();
    fdlg.ShowDialog();
    textBox1.Font = fdlg.Font;
}

private void btn_color_Click(object sender, EventArgs e)
{
    ColorDialog cdlg = new ColorDialog();
    cdlg.ShowDialog();
    textBox1.ForeColor = cdlg.Color;
}

Örnek Uygulamanın Form2 .cs dosyasını indirin.

Leave a Reply

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