Program Özelliklerinin Dinamik Olarak Kaydedilmesi

Özellikle masaüstü programlamada ihtiyacımız olan kullanıcı bazlı program özelliklerinin dinamik olarak değiştirilip saklanması ihtiyacım çok olmuştur. Örn: Programdaki yazı fontlarının değiştirilmesi, arkaplan renginin değiştirilmesi,form büyüklüğünün değiştirirmesi ve daha sonra kullanıcı programı tekrar açtığında değiştirdiği özelliklerinin aynen geri yüklenmesi istenebilir. Microsoft bu ihtiyacımızı .Net 2.0 ile birlikte gelen, System.Configuration.ApplicationSettingsBase sınıfı ile çözmüştür.

Yeni bir windows uygulaması açıp Project menüsünden uygulama adı properties seçeneğini açıp karşımıza gelen ekrandan: Settings tabını açalım.

Büyük hali için resme tıklayınız.

Büyük hali için resme tıklayınız.

Gelen ekrandan resimdeki gibi dinamik olarak tutmak istediğimiz bilgileri girelim. Form ekranımızı açalım ve Properties penceresinden; ApplicationSettings => PropertyBinding penceresini açalım ve aşağıdaki resimdeki gibi değerlerimizi atayalım.

PropertyBinding

PropertyBinding

[csharp]

private void Form1_Load(object sender, EventArgs e)
{
//Form yüklenirken ayarlarımızı programımıza atıyoruz.
this.Location = Properties.Settings.Default.FormLocation;
this.Size = Properties.Settings.Default.FormSize;
this.BackColor = Properties.Settings.Default.BackgrounColor;
}

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// Form kapanırken kullanıcının yaptığı değişiklikleri kaydediyoruz.
Properties.Settings.Default.FormLocation = this.Location;
Properties.Settings.Default.FormSize = this.Size;
Properties.Settings.Default.BackgrounColor = this.BackColor;
//Yaptığımız değişiklikleri kaydeden metodumuz.
Properties.Settings.Default.Save();
}

private void button1_Click(object sender, EventArgs e)
{
//Formun arkaplan rengini değiştiren kodlar.
colorDialog1.ShowDialog();
this.BackColor = colorDialog1.Color;
}

[/csharp]

sonucc

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

1 Response

  1. emrah dedi ki:

    peki bu veriler nerede saklanıyor ?

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.