folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Chechkedlistbox Biri Seçildiğinde Diğerlerini Seçme C# (Yardım)



Chechkedlistbox Biri Seçildiğinde Diğerlerini Seçme C# (Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek

    merhaba checkedlistboxta 4 tane elemanım var diyelim bunlardan biri tümü.tümü seçildiğinde diğer 3 ünün de seçilmesini istiyorum bunu yaptım fakat tümü elemanının seçimi kaldırıldığında diğerleri kalkmıyoru bunu yapamadım nasıl yapabilirim hangi event a yazmam gerekir?

    tümü seçildiğinde yaptığım işlem

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)

           {

                 if (checkedListBox1.SelectedIndex == 0)

                 {

                     for (int item = 1; item < checkedListBox1.Items.Count; item++)

                     {

                         checkedListBox1.SetItemChecked(item, true);

                     }

                     

                 }

    }

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    GodLike
    GodLike's avatar
    Kayıt Tarihi: 26/Eylül/2009
    Erkek

    item true olarak argument göndermez..boxların form üzerindeki index değerlerini alman lazım..gönderse de hepsini seçemez çünkü hangisi olduğunu bilemeyecek diye düşünüyorum.

    GodLike tarafından 27/Eyl/12 12:32 tarihinde düzenlenmiştir

    İlgisiz ve Uzmanlık alansız üye.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Elif - Efe
    undefined-01
    undefined-01's avatar
    Kayıt Tarihi: 19/Aralık/2003
    Homo

    birde boyle dene :

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (checkedListBox1.GetItemCheckState(0) == CheckState.Checked) // kontrol ettigin nesne
                {
                    for (int item = 1; item < checkedListBox1.Items.Count; item++)
                    {
                        checkedListBox1.SetItemChecked(item, true);
                    }
                }
                else
                {
                    for (int item = 1; item < checkedListBox1.Items.Count; item++)
                    {
                        checkedListBox1.SetItemChecked(item, false);
                    }
                }
    
            }

    Bu aralar fazla yogunum. Unuttugum seyler oluyorsa affola. DM vs atın.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yavuzaydogan
    yavuzaydogan's avatar
    Kayıt Tarihi: 13/Eylül/2011
    Erkek

    Kodu düzenleyip tekrar ekliyorum:

    İlk önce öğelere tıklandığı anda seçme işlemini yapması için, Formun load olayında CheckOnClick özelliğiniz true yapıyoruz. Daha sonra listboxa tıklandığında ilk önce tıklanan id' ye bakıyoruz. Tıklanan öğenin indexi 0 sa  "Tümü" ile ilgili işlemlere giriyoruz. Eğer tıklanan öğenin indexi 0 değilse demekki tümü seçili olmayacak. Bunu da else satırında false olarak işaretliyoruz.

    Tümü işlemlerine gelirsek, eğer seçilen 0 sa ve checked durumu seçiliyse hepsini seçiyoruz. Eğer seçilen 0 sa ve durumu da unchecked ise tümünün checked özelliğini false yapıyoruz. Kod çalışıyor arkadaşım, direkt kullanabilirsin.

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (clbSecici.SelectedIndex == 0)
                {
                    if (clbSecici.GetItemCheckState(0) == CheckState.Checked)
                    {
                        for (int item = 0; item < clbSecici.Items.Count; item++)
                        {
                            clbSecici.SetItemChecked(item, true);
                        }
                    }
                    else
                    {
                        for (int item = 0; item < clbSecici.Items.Count; item++)
                        {
                            clbSecici.SetItemChecked(item, false);
                        }
                    }
                }
                else
                {
                    clbSecici.SetItemChecked(0, false);
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                clbSecici.CheckOnClick = true;
            }

    Buradan Örnek Dosyayı İndirebilirsin. CheckedListBox Tümü Seç-Seçme

    yavuzaydogan tarafından 27/Eyl/12 13:09 tarihinde düzenlenmiştir

    Son sözümüz C# :D
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek
    yavuzaydogan bunu yazdı

    Kodu düzenleyip tekrar ekliyorum:

    İlk önce öğelere tıklandığı anda seçme işlemini yapması için, Formun load olayında CheckOnClick özelliğiniz true yapıyoruz. Daha sonra listboxa tıklandığında ilk önce tıklanan id' ye bakıyoruz. Tıklanan öğenin indexi 0 sa  "Tümü" ile ilgili işlemlere giriyoruz. Eğer tıklanan öğenin indexi 0 değilse demekki tümü seçili olmayacak. Bunu da else satırında false olarak işaretliyoruz.

    Tümü işlemlerine gelirsek, eğer seçilen 0 sa ve checked durumu seçiliyse hepsini seçiyoruz. Eğer seçilen 0 sa ve durumu da unchecked ise tümünün checked özelliğini false yapıyoruz. Kod çalışıyor arkadaşım, direkt kullanabilirsin.

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                if (clbSecici.SelectedIndex == 0)
                {
                    if (clbSecici.GetItemCheckState(0) == CheckState.Checked)
                    {
                        for (int item = 0; item < clbSecici.Items.Count; item++)
                        {
                            clbSecici.SetItemChecked(item, true);
                        }
                    }
                    else
                    {
                        for (int item = 0; item < clbSecici.Items.Count; item++)
                        {
                            clbSecici.SetItemChecked(item, false);
                        }
                    }
                }
                else
                {
                    clbSecici.SetItemChecked(0, false);
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {
                clbSecici.CheckOnClick = true;
            }

    Buradan Örnek Dosyayı İndirebilirsin. CheckedListBox Tümü Seç-Seçme

    hocam teşekkür ederim çalışıyor fakat bazen kaldırma işlemi çalışmıyor 

    @rakkoc  onu bende denemiştim olmuyor

     

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yavuzaydogan
    yavuzaydogan's avatar
    Kayıt Tarihi: 13/Eylül/2011
    Erkek

    Takılması büyük ihtimalle ard arda tıklamalardan kaynaklanıyor. Saniyede 3-5 defa tıklayınca çalışan for döngüleri takılıyor doğal olarak. Ama proje kullanılmaya başlandığında kimse saniyede 3-5 defa tıklamaz diye düşünüyorum :)

    Ama programcıysan her ihtimali göz önüne alman gerekiyor. Bundan sonrası sana kalmış araya bir iki kod sıkıştırırsan düzeltirsin diye umuyorum. İyi Çalışmalar.


    Son sözümüz C# :D
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    kajmerpac
    kajmerpac's avatar
    Kayıt Tarihi: 03/Kasım/2008
    Erkek
    yavuzaydogan bunu yazdı

    Takılması büyük ihtimalle ard arda tıklamalardan kaynaklanıyor. Saniyede 3-5 defa tıklayınca çalışan for döngüleri takılıyor doğal olarak. Ama proje kullanılmaya başlandığında kimse saniyede 3-5 defa tıklamaz diye düşünüyorum :)

    Ama programcıysan her ihtimali göz önüne alman gerekiyor. Bundan sonrası sana kalmış araya bir iki kod sıkıştırırsan düzeltirsin diye umuyorum. İyi Çalışmalar.

    evet program yazdıgımız için her ihimali düşünmemiz gerekiyor :) hocam nasıl düzelticem ki peki önerin var mı

    edit: hocam bence selectedindexchanged event ından kaynaklanıyor farklı yerlere tıklamadıgın için index değişmiyor o yüzden takılıyor aslında forla alakası olmayabilir

    kajmerpac tarafından 27/Eyl/12 13:50 tarihinde düzenlenmiştir
Toplam Hit: 1445 Toplam Mesaj: 7