Флажок в элементе управления списком
-
09-06-2019 - |
Вопрос
Можете ли вы создать элемент управления списком с несколькими столбцами, где один из столбцов является флажком?Пример кода или ссылки будут очень признательны.
Я использую Visual Studio 2005.
Решение
Аллан Андерсон создал специальный элемент управления, позволяющий вам это сделать.Вы можете найти это здесь: 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
Другие советы
Лучше используйте управление видом сетки, но если хотите только один столбец с флажками, и этот столбец является первый тот, который вы можете просто написать:
this.listView1.CheckBoxes = true;
Добавьте столбец флажка, как показано ниже.
myListView.CheckBoxes = true;
myListView.Columns.Add(text, width, alignment);
Добавьте ListViewItem, как показано ниже.
ListViewItem lstViewItem = new ListViewItem();
lstViewItem.SubItems.Add("Testing..");
lstViewItem.SubItems.Add("Testing1..");
myListView.Items.Add(lstViewItem);
Почему бы тебе не попробовать XPTable от Мэтью Холла
Может быть ListView.Флажки.
Вы можете установить CheckBoxes
собственность true
.В коде это можно сделать так:
listView1.CheckBoxes = true;
Вместо этого вы можете использовать представление сетки, поскольку это дает вам более точный контроль над содержимым столбцов.
Можешь попробовать ДеревоViewAdv.Он имеет открытый исходный код и размещен на sourceforge.