Member 11832307 Ответов: 3

Серый цвет или предотвращение выбора элемента listview?


Hi all

I have a ListView populated with several items (ListViewItem) items.
I want to do 2 things with these items.   

1) I want to prevent some items from being selected (based on some critera that I define). 


Что я уже пробовал:

мыши listview1.товар.выбран=ложь
listview1.SelectedItem.Selected=false

3 Ответов

Рейтинг:
2

an0ther1

Из того, что я вижу, вы не можете установить элемент представления списка, чтобы он не был выбран.

Другие вещи, которые вы можете сделать;

а) добавьте обработчик событий для ItemSelectionChanged и обработайте его там
б) используйте флажки и добавьте обработчик событий для события ItemCheck/ItemChecked

с уважением


Рейтинг:
1

Felsfurt

Вот очень простое решение с использованием Разделе мы рассмотрим обработчик событий для элемента управления ListBox.

Я проверяю, чтобы убедиться, что индекс больше -1, так как это недопустимый индекс (-1 означает, что ничего не выбрано). Вы можете изменить это по мере необходимости, но в настоящее время фрагмент делает это так, что любой элемент списка, щелкнутый со значением "я не могу быть выбран", затем очистит все выбранные элементы. Используйте этот обработчик событий по своему усмотрению.
Подсказка: измените задний цвет элементов :p

Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    If ListBox1.SelectedIndex > -1 And
        ListBox1.Items(ListBox1.SelectedIndex) = "I can't be selected" Then
        ListBox1.ClearSelected()
    End If
End Sub


Рейтинг:
0

Bryian Tan

Вот еще один пример отключения элемента listview с помощью комбинации checkbox и ItemCheck Event. Там же есть объяснение, как сделать этот предмет серым.

c# - Как отключить элемент управления listview в .net 3.5 - переполнение стека[^]