Visual Basic Listbox Kontrolü
-
6 kategorim var, 6 listbox ve ana listbox var. Ben tek bir listbox görüntüleyerek kullanıcılara suncağım 6 checkbox sayesinde ana listin içeriğinde hangi kategoriler isteniyorsa onların içeriklerini havuz gibi aktarmak istiyorum. Ama bunu veritabanı olmadan yapmak istiyorum. Veritabanı işimi karıştırıyor. Yani bana şöyle bi şey lazım. diyelim checkbox da X ve Y seçilmiş. X listiyle Y listinin içerikleri Ana Liste eklensin. AnaList.item = XList.additem,YList.additem ... gibi bir kodlama lazım. Tabiki böyle kodlanmaz da mantığımı anlatmak adına örnek yazmak istedim.
AnaList
XList
YList
ZList
AList
BList
CList
---------
Listleri kontrol edecek checkboxlar
Xcheck
Ycheck
Zcheck
Acheck
Bcheck
Ccheck
...şeklinde olacak. Umarım anlatabilmişimdir. Yardımcı olursanız çok memnun olurum. Visual Basic 2008 kullanıyorum. Ona göre yardımcı olursanız da sevinirim arkadaşlar.
-
vbasic 2008 kullanmadım hiç ama 6.0 a göre anlatayım gerisini uyarlarsın
xcheck'e tıkladığında
If Check1.Value = 1 Then
List1.AddItem "ajan"
List1.AddItem "ajan"
List1.AddItem "ajan"
List1.AddItem "ajan"
End If
If Check1.Value = 0 ThenFor i = 0 To List1.ListCount
For j = 0 To List1.ListCount
If List1.List(j) = "ajan" Then List1.RemoveItem (j)
Next j
Next iEnd If
diğer checklerde de "ajan" kısmını değiştirirsin işte olur. eksik yani varsa söle tamamlayım sabah sabah beyin jimnastiği iyi geldi (:
-
teşekkür ederim benim istediğim farklı bir şeydi ama bu yöntem de güzel görünüyor. Deneyeceğim. :)
benim istediğimse 6 listi küçük havuz diye düşünürsek bir tane ana havuza diğer küçük havuzlardan istediklerimizi seçip içinde ne var ne yok ana havuza aktarılmasıdır. Yani yukarda küçük havuzlardan ana havuza tek tek malzeme doldurma işlemi var.
-
Private Sub Check1_Click() yukle End Sub Sub yukle() analiste.Clear If Check1.Value = 1 Then For i = 0 To check1list.ListCount - 1 analiste.AddItem check1list.List(i) Next i End If If Check2.Value = 1 Then For i2 = 0 To check2list.ListCount - 1 analiste.AddItem check2list.List(i2) Next i2 End If If Check3.Value = 1 Then For i3 = 0 To check3list.ListCount - 1 analiste.AddItem check3list.List(i3) Next i3 End If End Sub Private Sub Check2_Click() yukle End Sub Private Sub Check3_Click() yukle End Sub Private Sub Form_Load() For i = 0 To 2 check1list.AddItem i Next i For i2 = 0 To 4 check2list.AddItem i2 Next i2 For i3 = 0 To 6 check3list.AddItem i3 Next i3 End Sub
böylemi
-
mantık olarak yakın şeyler söylüyorsunuz ama tam istediğim şeyler değil arkadaşlar. istediğimi anlatmak için resim yükledim.
***4 tane liste var ve 4 tane checkbox bir tane de ana liste. form açıldığında listbox içerikleri gizli kalcak ve checkboxlar boş olacak. Checkboxlardan örneğin galatsaray ve trabzonspor seçili hale getirilirse ana listeye bu iki listin içerikleri eklenecek. Aynı zamanda checkboxlardaki tik kaldırıldığında ana listeden kaldırılan checkboxun temsil ettiği list içeriği de kalkacak.
http://img705.imageshack.us/img705/392/list1o.jpg
http://img580.imageshack.us/img580/1376/list2yj.jpg
-
@DE5TROY3R
dostum anlatmak istediğim gibi olmuş ama vb6 da çalışmıyorum. senin yazdıkların visual studio 2008de çalışmıyor. rica etsem yeni vb kodlarına göre aynısını yazsan olur mu? Mesela listbox nesnesinin list eki yok onun yerine başka şeyler var vs. additem de yok malesef.
-
kuytul bunu yazdı:
-----------------------------
@DE5TROY3R
dostum anlatmak istediğim gibi olmuş ama vb6 da çalışmıyorum. senin yazdıkların visual studio 2008de çalışmıyor. rica etsem yeni vb kodlarına göre aynısını yazsan olur mu? Mesela listbox nesnesinin list eki yok onun yerine başka şeyler var vs. additem de yok malesef.
-----------------------------buyur hocam
Public Class Form1 Private Sub Check1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Check1.CheckedChanged yukle() End Sub Sub yukle() analiste.Items.Clear() If Check1.Checked = "1" Then For i = 0 To check1list.Items.Count - 1 analiste.Items.Add(check1list.Items.Item(i)) Next i End If If Check2.Checked = "1" Then For i2 = 0 To check2list.Items.Count - 1 analiste.Items.Add(check2list.Items.Item(i2)) Next i2 End If If Check3.Checked = "1" Then For i3 = 0 To check3list.Items.Count - 1 analiste.Items.Add(check3list.Items.Item(i3)) Next i3 End If End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For i = 0 To 2 check1list.Items.Add(i) Next i For i2 = 0 To 4 check2list.Items.Add(i2) Next i2 For i3 = 0 To 6 check3list.Items.Add(i3) Next i3 End Sub Private Sub Check2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Check2.CheckedChanged yukle() End Sub Private Sub Check3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Check3.CheckedChanged yukle() End Sub End Class
-
çoook teşekkürler :D
inanılmaz faydası olacak bana bunun :)
-
Problem Çözülmüş Ellam ki