2012-05-11 3 views
3

У меня есть ListView с флажками:Отключить одиночный флажок в ListView с флажками

 listView1.View = View.Details; 
     listView1.CheckBoxes = true; 

     ListViewItem item1 = new ListViewItem("ONE"); 
     ListViewItem item2 = new ListViewItem("TWO"); 
     ListViewItem item3 = new ListViewItem("THREE"); 

     listView1.Items.Add(item1); 
     listView1.Items.Add(item2); 
     listView1.Items.Add(item3); 

Я хотел бы отключить только второй флажок, это возможно?

Заранее спасибо.

+3

Возможный дубликат [Как отключить элемент в элементе управления списком в .net 3.5] (http://stackoverflow.com/questions/5472172/how-do-you-disable-an-item-in-listview- контроль в внутрисетевом-3-5) – CodeCaster

ответ

2

Я думаю, вы можете сделать это с помощью чертежа владельца, используя событие DrawItem. В обработчике события нарисуйте прямоугольник, заполненный SystemColors.Window над флажком, чтобы скрыть его.

Я также внедрил флажок, скрытый в стороннем управлении Better ListView Express. Элементы имеют логическое свойство с именем AllowShowCheckBox, которое вы можете установить на false для каждого элемента отдельно. Он также поддерживает флажки с тремя состояниями.

Смежные вопросы