2008-09-13 18 views

Antwort

6

Allan Anderson ein benutzerdefiniertes Steuerelement erstellt bin mit Sie dies tun zu lassen. Sie können es hier finden: http://www.codeproject.com/KB/list/aa_listview.aspx

Hier einige Beispiel-Code für das Steuerelement:


    GlacialList mylist = new GlacialList(); 

mylist.Columns.Add("Column1", 100); // this can also be added 

     // through the design time support 

mylist.Columns.Add("Column2", 100); 
mylist.Columns.Add("Column3", 100); 
mylist.Columns.Add("Column4", 100); 

GLItem item; 

item = this.glacialList1.Items.Add("Atlanta Braves"); 
item.SubItems[1].Text = "8v"; 
item.SubItems[2].Text = "Live"; 
item.SubItems[2].BackColor = Color.Bisque; 
item.SubItems[3].Text = "MLB.TV"; 

item = this.glacialList1.Items.Add("Florida Marlins"); 
item.SubItems[1].Text = ""; 
item.SubItems[2].Text = "Delayed"; 
item.SubItems[2].BackColor = Color.LightCoral; 
item.SubItems[3].Text = "Audio"; 


item.SubItems[1].BackColor = Color.Aqua; // set the background 

     // of this particular subitem ONLY 

item.UserObject = myownuserobjecttype; // set a private user object 

item.Selected = true; // set this item to selected state 

item.SubItems[1].Span = 2; // set this sub item to span 2 spaces 


ArrayList selectedItems = mylist.SelectedItems; 
      // get list of selected items 
1

Sie können stattdessen eine Rasteransicht verwenden, da Sie dadurch die Spalteninhalte besser kontrollieren können.

+0

Haben Sie irgendwelche Beispiele dafür? – leora

+0

Ja, etwas wie: myGridDataView.Columns.Add (new DataGridViewCheckBoxColumn()); – Keith

0

Sie können versuchen TreeViewAdv. Es ist Open Source und auf Sourceforge gehostet.

17

Bessere Nutzung Rasteransicht Kontrolle, aber wenn Sie nur eine Spalte mit Kontrollkästchen wollen und diese Spalte ist die erste kann man einfach schreiben:

this.listView1.CheckBoxes = true; 
+0

Upvoted, obwohl ich denke, es muss nicht die erste Spalte sein; –

4

hinzufügen Checkbox Spalte wie unten.

myListView.CheckBoxes = true; 
myListView.Columns.Add(text, width, alignment); 

hinzufügen ListViewItem s wie unten.

ListViewItem lstViewItem = new ListViewItem(); 
lstViewItem.SubItems.Add("Testing.."); 
lstViewItem.SubItems.Add("Testing1.."); 

myListView.Items.Add(lstViewItem); 
1

Sie die die CheckBoxes Eigenschaft auf true einstellen. Im Code kann das so gemacht werden:

listView1.CheckBoxes = true;