Merhaba Arkadaslar bu makalemizde C# dilinin çok güzel özelliklerinden biri olan Settings File (Ayarlar Dosyasi) kullanimina deginecegim. Bir örnek uygulama ile projelerimizde nasil kullanildigini da görmüs olalim.

Kullanimi çok basit olmakla beraber çok kullanisli ve her projede kullanilabilecek bir özelliktir Konu basligimizda da belirttigimiz gibi bu makalemizde User Setting yani Kullanici Tanimli Ayarlari ele alacagiz. Buda demek oluyor ki birden fazla alanda kullanilabiliyor.

1- User
2- Application

Bu makalemizde kullanici tanimli bir örnek yapacagim. Farkli bir makalede ise Uygulama Tanimli örnek yapacagim. Kullanici tanimli ayarlarda, yazdigimiz programda kullanici, programin belirledikleri bölümlerini kendi belirledikleri sekilde (renk, font, büyüklük, string vs) kullanmalarina olanak tanir. Bu ayarlar settings classinda tutulur ve programci istedigi zaman bu ayarlari bu class tan çagirabilir.

Settings File yi biraz daha açacak olursak 4 kisimdan olustugunu soyleyebiliriz.

1-Name: Uygulamada kullanilacak olan ayarin adini içerir. Bu isim önemlidir çünkü program içerisinde bu ayari kullanmak istersek Name kismina yazdigimiz isimle çagirmamiz gerekecektir. Bu durumda bu kisma isim yazarken Türkçe ve özel karakter kullanmamaliyiz.

2-Type: Uygulamada kullanilacak olan ayarin tipini belirler.
System.Drawing.Font, System.Drawing.Size, System.Time.Span, string, int, bool bu çesitlerinden bi kaçidir.

3-Scope: Bu kisim ise User yada Application degerlerinden birini alir. User dedigimiz gibi kullanici tarafindan degistirebilen ayarlari içerir. Application ise kullanici tarafindan degistirilmeyen, programin çalismasini önemli derecede etkileyen ayardir. User tanimli ayarlara program çalisirkende ulasbilme, degistirebilme imkanimiz varken Application tanimli ayarlarda böyle bir imkanimiz yoktur ve müdahaleyi designer ekranindan veya .settings dosyasina elle müdahale ederek degistirebiliriz.

4-Value: Ayarlara eristigimizde bize geri döndürülecek olan degerdir.

Asagidaki resmi örnek olarak inceleyebilirsiniz…

csharpta-settins-file-ve-user-setting-kullanici ayar-

csharpta-settins-file-ve-user-setting-kullanici ayar-

Gerekli Bilgileri aldiktan sonra örnegimizi yapmaya baslayalim. Hepimiz biliyoruz ki formlarimizin arkaplan renklerimizi bir defa belirledikten sonra program çalisirken arkaplan rengi veya benzeri durumlara müdahale edemiyoruz. Bu örnegimizde Settings File ile bu engeli ortadan kaldiralim. Asagidaki gibi bir form üzerinde bulunan bir buton üzerine tikladigimizda bize bir renk paleti gelsin ve istedigimiz rengi ordan secerek formlarin arka plan rengini dinamik olarak degistirelim.

csharpta-settins-file-ve-user-setting-kullanici ayar-2

csharpta-settins-file-ve-user-setting-kullanici ayar-2

1- Visual Studio programinda üstte bulunan Project menüsünden Add New Item ya da Add Windows Form a tiklayalim.
2- Settings File si seçerek Add butonuna tiklayalim. Dilersek Adini degistirebiliriz. Ben Ayarlar olarak degistirdim. (Bu isim önemli)

csharpta-settins-file-ve-user-setting-kullanici ayar-3

csharpta-settins-file-ve-user-setting-kullanici ayar-3

3- Dizayn ekraninda ayarimizin özelliklerini belirleyecegiz. Örnegimize uyacak sekilde adini belirttim. Örnegimizde renk degisimi yapacagimiz için tipini ona göre belirledim.

csharpta-settins-file-ve-user-setting-kullanici ayar-4

csharpta-settins-file-ve-user-setting-kullanici ayar-4

4- Çikip ayarlari kaydedelim.
5- Asil isimiz simdi basliyor. Hangi formlarin arkaplan renginin bu ayardan etkilenmesini istiyorsak o formu binding yapmamiz gerekiyor. Yani yaptigimiz ayari kullanacagimiz formla iliskilendirmemiz gerekiyor. Bunun için o formun propertiesine gidelim ve en üstte bulunan ApplicationSettings altindaki PropertyBinding in yaninda bulunan butona tiklayalim.

csharpta-settins-file-ve-user-setting-kullanici ayar-5

csharpta-settins-file-ve-user-setting-kullanici ayar-5

6- Biz arka plan rengi degisikligi yapacagimzi için BackColor seçenegine gelip none yerine yaptigimiz ayari seçip OK diyoruz.

csharpta-settins-file-ve-user-setting-kullanici ayar-6

csharpta-settins-file-ve-user-setting-kullanici ayar-6

Not: Yaptigimiz ayarin etkili olmasini istedigimiz tüm formlara ayni islemi uyguluyoruz. Yaptigimiz islemlerden sonra ayarimizi formlarla iliskilendirmis olduk.

7- Simdi ayarimizin yapacagimiz formun üstüne bir adet Color Dialog sürükleyip birakalimki renk paleti ihtiyacimizi karsilasin.

8- Daha sonra butonun click eventine asagidaki kodlari yazalim
.

private void button1_Click(object sender, EventArgs e)
{
colorDialog1.ShowDialog(); //1
Ayarlar.Default.FormArkaPlanRengi = colorDialog1.Color; //2
}

//1. Butona tikladigimizda bize renk paletini göstermesini istiyoruz.
//2. Seçtigimiz rengi, olusturdugumuz settings file daki FormArkaPlanRengi adli ayara aktardik. Böylece ayardaki value kismi bizim seçtigimiz renk oldu ve bize o rengi döndürdü.
Artik uygulamamizi çalistirabilir ve sonucu görebiliriz.

Örnegimizi yaptiktan sonra bisey dikkatinizi çekmis olabilir. Programi yeniden baslattiginizda form rengi son seçtiginiz renk degil de ilk belirlediginiz renk olacaktir. Bu gayet dogal, çünkü seçtiginiz rengi herhangi bir veri tabaninda tutmuyoruz. Seçtigimiz rengin kalici olmasini istiyorsak bunu veri tabaninda tutmaniz daha sonra renk degerini program açilisinda ordan almaniz gerekecektir. Her rengin kendine özgü bir renk degeri vardir. Bunu ögrenmek için asagidaki kodu kullanabilirsiniz.

MessageBox.Show(colorDialog1.Color.ToString());

Bu kod bize seçtigimiz rengin renk kodunu verecektir. Bunu veri tabaninda saklayip, daha sonra açilista sakladiginiz renk degerini çekip, yaptiginiz renk degisimini kalici hale getirebilirsiniz.

Iyi Çalismalar….