C# CheckState İçin Özel Metod Oluşturmak

C# CheckState İçin Özel Metod Oluşturmak

19 Temmuz 2018 0 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 46
Yaklaşık okuma süresi : 11 DK
C# SQL ConnecitonString' deki Bilgileri Almak
C# Mouse Koordinatlarını Almak
C# CheckState İçin Özel Metod Oluşturmak
İlk Beğenen Sel Ol

C# CheckState İçin Özel Metod Oluşturmak , yazımız ile c sharp eğitimlerimize devam ediyoruz. Bu yazımızda checkbox’ların geri dönüş değeri olan  checkstate değişken tipi için bir class yapacağız. Bu yöntem benim işimi bayağı bir kolaylaştırmıştı, umarım sizlerinde işine yarar. Gelin C# CheckState İçin Özel Metod Oluşturmak işlemine bir bakalım.

NOT: CheckState’i , Türkçe işaret durumu  olarak çevirebiliriz. Yani işaretli mi değil mi? gibi.

C# CheckState İçin Özel Metod Oluşturmak

Database ‘den çektiğimiz verilerde yada gridview üzerinden aldığımız verilerde checkbox ları verilere göre işaretlemek yada işaretlememek benim için hep bir sorun olmuştur. Gelen değeri string olarak alırsak farklı, int olarak alırsak farklı, bool olarak alırsak farklı şekillerde işlem yapıyoruz. Bu yöntem de aslında temelde aynı işlemi yapıyor ancak işimizi checkstate ile bitiriyoruz. Yani checkbox’lar ve türevi nesnelerin geri dönüş değerleri ile…

Normalde yaptığım işlemler şu şekilde oluyordu;

/ verileri alacak olan kodlar

if (AktifMi == 1)
    CHK_PASIF.CheckState = CheckState.Checked;
else
    CHK_PASIF.CheckState = CheckState.Unchecked;

// yada

if (AktifMi == 1) 
    // AktifMi  değişkenini int olarak alırsanız bu şekilde olur
    // AktifMi  değişkenini bool olarak alırsanız "if (AktifMi)" şeklinde kullanabilirsiniz.
    // çünkü if içerisinden her zaman "true" değer döner. Yani yazıdğınız değişken "true" ise 
    // if çalışır false ise else çalışır.
    CHK_PASIF.Checked = true;
else
    CHK_PASIF.Checked = false;

// arkadaşlar ilk yöntemi kullanmak çok daha iyidir.
// ikinci yöntemde bazen nedense işlemleri yapmadığını farkettim.
// ama artık bu yöntemlere gerek kalmadı

Ama class’ı hazırladığımda bir satır bile sayılmayacak kadar kısa bir kod ile işimi halledebiliyorum. Şimdi o class’ın tamamını vereceğim sonrada nasıl kullanacağımızı…

Öncelikle class’ımıza namespace imizi ekleyelim.

using System.Windows.Forms;
        public static CheckState Checked_Kontrol(int deger)
        {
            CheckState cs = new CheckState();
            switch (deger)
            {
                case 0:
                    cs = CheckState.Unchecked;
                    break;
                case 1:
                    cs = CheckState.Checked;
                    break;
                case 2:
                    cs = CheckState.Indeterminate;
                    break;
                default:
                    MessageBox.Show(deger.ToString() + " Değeri bir checkbox için geçerli değil", "Değer Hatalı", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    break;
            }
            return cs;
        }
        public static CheckState Checked_Kontrol(bool deger)
        {
            CheckState cs = new CheckState();
            switch (deger)
            {
                case false:
                    cs = CheckState.Unchecked;
                    break;
                case true:
                    cs = CheckState.Checked;
                    break;
            }
            return cs;
        }
        public static CheckState Checked_Kontrol(string deger)
        {
            CheckState cs = new CheckState();
            switch (deger)
            {
                case "0":
                    cs = CheckState.Unchecked;
                    break;
                case "1":
                    cs = CheckState.Checked;
                    break;
                case "2":
                    cs = CheckState.Indeterminate;
                    break;

                case "false":
                    cs = CheckState.Unchecked;
                    break;
                case "true":
                    cs = CheckState.Checked;
                    break;

                case "False":
                    cs = CheckState.Unchecked;
                    break;
                case "True":
                    cs = CheckState.Checked;
                    break;

                default:
                    MessageBox.Show(deger.ToString() + " Değeri bir checkbox için geçerli değil", "Değer Hatalı", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    break;
            }
            return cs;
        }

Class içerisindeki tüm kodlarımız bu kadar.  Şimdi kodlarımızı açıklayalım;

Öncelikle burada bir overloaded metod kullanılmıştır. Overloaded Metod Nedir derseniz yazıma bakabilirsiniz.

Eğer metoda gelen değer, string olarak “1” , “True” yada “true” gelirse geriye chechked değerini tutan bir CheckState dönecektir.

Eğer metoda gelen değer, int olarak “1” gelirse geriye chechked değerini tutan bir CheckState dönecektir.

Eğer metoda gelen değer, bool olarak “true” gelirse geriye chechked değerini tutan bir CheckState dönecektir.

Aynısı tam tersleri içinde geçerlidir. Yok bambaşka bir değer gelirse de uyarı mesajı ile durumu bildireceğiz.  Peki neden 0, 1, true, false vs. derseniz sadece yukarıdaki metodlardaki değerlerin CheckState dönüşümü ( karşılığı ) vardır.

Ayrıca overloaded metod yaptığımızdan dolayı, parametre olarak string göndersekte, int göndersekte ve bool göndersekte hata vermeyecektir.

Şimdi nasıl kullanacağımza geçelim

Aşağıda kullanıma örnek kodlar vardır. Class’ımın adı Kontroller’dir,

            checkEdit1.CheckState = Kontroller.Checked_Kontrol(1);
            checkEdit2.CheckState = Kontroller.Checked_Kontrol("1");
            checkEdit3.CheckState = Kontroller.Checked_Kontrol("true");
            checkEdit4.CheckState = Kontroller.Checked_Kontrol(true);

Gördüğünüz gibi, int, string yada bool gönderebiliriz. Hepsinde de çalışır. Ayrıca metdolarımız CheckState türünde değer döndüğünden direk checkbox’un chechkstate durumuna atıyoruz. Ne kadar kolay, güzel ve kullanışlı değil mi? Ayrıca buradan Yazılıma Başlamak Mı İstiyorsunuz? Görmeniz Lazım! yazıma da bir atıfta bulunmak istiyorum. 😀


C# CheckState İçin Özel Metod Oluşturmak , yazımız da bu kadar dostlar. Diğer derslerimizde görüşmek üzere. Bu şekilde daha çok metod paylaşacağım. Umarım hoşunuza gitmiştir ve işinize yaramıştır.

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.

Sağlıcakla ve takipte kalın. 😉

Liseden, Ağ Sistemleri ve Yönetimi bölümünden mezun oldum. Üniversiteden (2 yıllık), Bilgisayar Programcılığı bölümünden mezun oldum. Şuanda da AÖF, Yönetim Bilişim Sistemleri bölümünde okumaktayım.

Uzmanlık alanlarım; Windows Sistemleri, HTML, CSS, C# ve SQL’dir.

Hobi olarak uğraştığım genel konular, Photoshop, After Affects, Corel Draw’dır.Film, YABANCI dizi, Anime izlemeyi ve Manga okumayı severim. Arkadaşlarımla yürüyüş yapmayı ve grup olarak aktivitelere gitmeyi severim. Geri kalan zamanlarımın tümü bilgisayar karşısında geçer.

C# SQL ConnecitonString' deki Bilgileri Almak
C# Mouse Koordinatlarını Almak