settings [uygulamamızı kaydettiğimiz gibi açalım]

Zaman zaman yaptığımız uygulamalarda bazı ayarların veya değişikliklerin programın her açılışında en son kaydettiğimiz ayarlara göre açılmasını isteyebiliriz.
Ve ya bazı ayarların kulanıcı tarafından kendisine göre ayarlayabilmesine izin verebiliriz.
Bu durumda settings dosyası devreye giriyor.

İlk önce ayarları yapabilmemiz için yukarıda ki resimdeki gibi Properties klasöründeki Settings.settings dosyasını açmamız gerekiyor.
Biraz da kodlarla anlamaya çalışalım...

Kullanıcının formun arkaplanını değiştiren bir uygulamada
Settings dosyamıza Name kısmına formrenk adında bir değer girelim ve Type ise System.Drawing.Color olarak seçelim.
formumuza 1 adet colorDialog ekleyelim
1 adet de buton ekleyelim(renkleri ayarlamak için)
Form1_ Load kısmına
this.BackColor = Properties.Settings.Default.formrenk;
buton için ise;
colorDialog1.ShowDialog();
color.BackColor = colorDialog1.Color;
arkaplan rengini değiştirdik sıra geldi kaydetmeye ister bir buton aracılığı ile kaydedebiliriz isterseniz de form kapatılırken de kaydedebiliriz.
Properties.Settings.Default.formrenk = color.BackColor;
Properties.Settings.Default.Save();
this.BackColor = Properties.Settings.Default.formrenk;
uygulamamızın boyutu için;
Settings dosyamıza Name kısmına FormSize adında bir değer girelim ve Type ise System.Drawing.Size olarak seçelim.
Form1_ Load kısmına
this.Size = Properties.Settings.Default.FormSize;
kaydetmek için ise;
Properties.Settings.Default.FormSize = this.Size;
Properties.Settings.Default.Save();
uygulamamızın en son bulunduğu x ve y deki konumuna göre açmak için;
Settings dosyamıza Name kısmına Location adında bir değer girelim ve Type ise System.Drawing.Point olarak seçelim.
Form1_ Load kısmına
this.Size = Properties.Settings.Default.Location;
kaydetmek için ise;
Properties.Settings.Default.Location = this.Location;
Properties.Settings.Default.Save();
TextBox olan bir uygulama da ayarları kaydetmek için;
Settings dosyamıza Name kısmına textboxayar adında bir değer girelim ve Type ise string olarak seçelim.
Form1_ Load kısmına
textBox1.Text = Properties.Settings.Default.textboxayar;
kaydetmek için ise;
Properties.Settings.Default.textboxayar = textBox1.Text;
Properties.Settings.Default.Save();
ListBox olan bir uygulama da ListBoxa verileri yüklemek için;
Settings dosyamıza Name kısmına listboxayar adında bir değer girelim ve Type ise System.Collections.Specialized.StringCollection olarak seçelim.
Form1_ Load kısmına
if (Properties.Settings.Default.listboxayar != null)
                foreach (string liste in Properties.Settings.Default.listboxayar)
                {

                    listBox1.Items.Add(liste);

                }
kaydetmek için ise;
Properties.Settings.Default.listboxayar = new System.Collections.Specialized.StringCollection();
            foreach (object item in listBox1.Items)
                {
        Properties.Settings.Default.listboxayar.Add(item.ToString());
                }
            Properties.Settings.Default.Save();
checkBox olan bir uygulama da;
Settings dosyamıza Name kısmına checkboxayar adında bir değer girelim ve Type ise bool olarak seçelim.
Form1_ Load kısmına
checkBox1.Checked = Properties.Settings.Default.checkboxayar;
kaydetmek için ise;
Properties.Settings.Default.checkboxayar = checkBox1.Checked;
Properties.Settings.Default.Save();
Son olarak comboBox için;
Settings dosyamıza Name kısmına ComboItem adında bir değer girelim ve Type ise System.Collections.Specialized.StringCollection olarak seçelim.
Form1_ Load kısmına
foreach (string s in Properties.Settings.Default.ComboItem)
            {
                comboBox1.Items.Add(s);
            }
kaydetmek için ise;
foreach (string s in comboBox1.Items)
            {
      Properties.Settings.Default.ComboItem.Add(s);
            }
           Properties.Settings.Default.Save();
Aslında örnekler bunlarla sınırlı değil siz uygulamanızın çeşidine göre değiştirebilirsiniz...
Bu yazımın da sonuna gelmiş bulunuyoruz. Bir sonraki yazımda görüşmek dileğiyle...

Yorumlar

  1. merhabalar,
    form üzerinde en son yaptığımız değişiklikleri de kaydedebiliyor muyuz? mesela form üzerindeki butonla formun belli yerlerine kod ile hazırlanmış buton, label, textbox vs.. ekledik. daha sonra exeden çıktığımızda bu eklenen araçlar siliniyor. bu olayı da settingden halledebilir miyiz? ve ya önereceğiniz bir yöntem var mıdır?

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

[programsız] Bilgisayarı yeniden başlatma (restart) işleminin zamanını ayarlama

c# List kullanımı