Arama butonu
Bu konudaki kullanıcılar: 1 misafir
10
Cevap
824
Tıklama
0
Öne Çıkarma
c# groupBox içerisini listeleme yardım lütfen
R
11 yıl
Yüzbaşı
Konu Sahibi

Merhaba,

Bir groupBox ım var ve içinde, textlerinde 1,2,3,4,5,A,B,C,D,E yazan 10 tane checkBox ım var.
Amacım butona tıklandığında hangi checkBox işaretliyse textBox1 içerisine checkBox ların textinde yazanları listelemesi.

yani kısaca checkBox 1-5-C-D işaretliyse textBox1 içerisine 1iseçtiniz, 5 i seçtiniz, C yi seçtiniz, D yi seçtiniz yazsın.


yardımcı olursanız sevinirim.





< Bu mesaj bu kişi tarafından değiştirildi reyta -- 30 Ekim 2014; 0:01:26 >

R
11 yıl
Yüzbaşı
Konu Sahibi

if le yapmak istemiyorum.
döngü kurmam gerekli.





< Bu mesaj bu kişi tarafından değiştirildi reyta -- 30 Ekim 2014; 0:01:55 >
Bu mesaja 1 cevap geldi.
B
11 yıl
Binbaşı

Webforms icinse foreach ile kontrollerin icinde donebilirsin

foreach (Control c in this.Controls) {
if (c is CheckBox) {
if (((CheckBox)c).Checked == true)
// Ne yapacaksan buraya
}
}



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
H
11 yıl
Yüzbaşı

checbox için sender işlemini araştır. Mantık şu olacak checboxların hepsi için tek bir event hazırlayacaksın ve checboxların hepsine bağlayacaksın. event içerisinde de sender ile hangi chacboxın işaretlendiğini bulup istediğin text i kullanabilirsin. checkbox ın tag propertiesinede o checbox ın tutacağı texti yazabilirsin. kullanırkende.
örneğin string checktext= checbox.tag.tostring() şeklinde alarak kullanabilirsin.

örnek kodda veriyorum.

private void checkBox_CheckedChanged(object sender, EventArgs e)
{
CheckBox Chk = (CheckBox)sender;
if (Chk.Checked)
{
MessageBox.Show(Chk.Tag.ToString());
}
}

bu eventı formuna koy ve tüm checkboxların checked change ına ata

yazdığım gibi yine tag propertiesinide kullan. messagebox kısmınıda sen ne yaptırmak istiyorsan o kodu yaz





< Bu mesaj bu kişi tarafından değiştirildi Hakan5434 -- 30 Ekim 2014; 1:40:46 >
Bu mesaja 1 cevap geldi.
_
11 yıl
Yarbay

Class ac , constructor icine checkbox lari listeye ekle .Metod olustur for loop ile listedeki checkboxlari sorgula.Button click event ine bu metodu ekle

Yapamazsan eve gidince yazarim.





< Bu mesaj bu kişi tarafından değiştirildi _Rand_al_Thor_ -- 30 Ekim 2014; 9:16:13 >

< Bu ileti mobil sürüm kullanılarak atıldı >

R
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: bekoc

Webforms icinse foreach ile kontrollerin icinde donebilirsin

foreach (Control c in this.Controls) {
if (c is CheckBox) {
if (((CheckBox)c).Checked == true)
// Ne yapacaksan buraya
}
}

bu şekilde sadece CheckBoxlar işaretli mi değil mi diye kontrol ettirebildim. bu biryere kadar işe yarıyor.
ama hangi CheckBox ın seçili olup olmadığını alamadım henüz.



private void button3_Click(object sender, EventArgs e)
{
int sayac = 0;
foreach (Control nesne in groupBox5.Controls) //groupBox5 checklerin içinde olduğu groupBox adı
{
if (nesne is CheckBox)
{
if (((nesne) as CheckBox).Checked == true)
{
sayac++;
}
}
}
if (sayac == 0)
{
//MessageBox.Show("Hiç bir CheckBox seçili değil.");
};




Bu mesajda bahsedilenler: @bekoc
R
11 yıl
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: Hakan5434

bu eventı formuna koy ve tüm checkboxların checked change ına ata


checkboxların checked change ına atama olayını açıklayabilir misin?

edt.

private void checkBox1_CheckedChanged(object sender, EventArgs e)

ta atadığım değişkeni farklı bir yerde kullanamadım, sanırım bunu söylemek istedin.


CheckBox Chk = (CheckBox)sender;
if (Chk.Checked)
{
MessageBox.Show(Chk.Tag.ToString());
string denemechk1 = (Chk.Tag.ToString());


denemechk1 farklı bir yerde kullanılmıyor.





< Bu mesaj bu kişi tarafından değiştirildi reyta -- 30 Ekim 2014; 15:08:25 >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @Hakan5434
B
11 yıl
Binbaşı

şuradan görebileceğin gibihttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.checkbox_properties(v=vs.110).aspx

checkbox un property leri içinde text'den veya ID 'den çıkarabilirsin.

Bence şöyle yap. her bir c içinde eğer checked ise en tepe tanımladığın bir dizi içine text'lerini at. diziden foreach le dönerek string i yaparsın.

veya

string sonuc = "";
if(c.checked) //true demene gerek yok aslında
{
sonuc = sonuc + c.text + " şıkkını seçtiniz ";
}



H
11 yıl
Yüzbaşı

checboxı seçtiğinde properties penceresi gibi event pencereside vardır.(şimşek simgesine basılınca açılıyor) orda yazdığım eventı bul. combobox halindedir. içini açtığında forma koy dediğim evente orada grürürsün onu seç. her checbox için yap. değişken olayında ise değişkeni eventen içerisinde tanımlamışsın o nedenle sadece event içerisinde kullanırsın. değişkeni global olarak tanımla.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @reyta
G
11 yıl
Yarbay

void Button1Click(object sender, EventArgs e)
{
textBox1.Clear();
foreach (Control c in groupBox1.Controls) {
if (c is CheckBox) {
if (((CheckBox)c).Checked == true)


textBox1.Text=textBox1.Text+c.Text+" i seçtiniz ";


}
}

}


Bu mesaja 1 cevap geldi.
R
11 yıl
Yüzbaşı
Konu Sahibi

herkese çok teşekkürler.
bekoc ve Gökşen Paslı nın yöntemiyle daha kolay çözdüm.



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.