ListView控件中的复选框

时间:2020-03-05 18:52:46  来源:igfitidea点击:

我们可以有一个多列listview控件,其中的一列是一个复选框吗?示例代码或者链接将不胜感激。

我正在使用Visual Studio 2005

解决方案

回答

艾伦·安德森(Allan Anderson)创建了一个自定义控件,让我们可以执行此操作。
我们可以在这里找到它:http://www.codeproject.com/KB/list/aa_listview.aspx

这是该控件的一些示例代码:

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

回答

也许是ListView.Checkboxes。

回答

我们可以改用网格视图,因为这样可以更好地控制列的内容。

回答

我们可以尝试使用TreeViewAdv。它是开源的,并托管在sourceforge上。

回答

最好使用网格视图控件,但是如果我们只需要一个带有复选框的列,而该列是第一列,则可以编写:

this.listView1.CheckBoxes = true;