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.
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.
[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]
peki bu veriler nerede saklanıyor ?