Как удалить строку (элемент) из VB6 ListView с помощью кнопки? - PullRequest
3 голосов
/ 29 ноября 2009

Как удалить строку в ListView. Мне нужно выбрать строку, которую нужно удалить, и командная кнопка удалит ее с предупреждением, если вы хотите удалить строку. Каким будет код для этого?

Ответы [ 2 ]

6 голосов
/ 30 ноября 2009

Предполагая, что вы уже создали ListView (ListView1) и событие Click для кнопки (давайте назовем ее button1), дважды щелкнув по ней, блок мог бы выглядеть примерно так:

Таким образом, код будет выглядеть примерно так:

private sub Button1_Click()
    if ListView1.SelectedItem is nothing then exit sub

    if MsgBox("Do you really want to delete?", "Question", vbYesNo) = vbYes then
        ListView1.ListItems.Remove ListView1.SelectedItem.Index
    end if
end sub
0 голосов
/ 29 ноября 2009

Какие элементы управления вы уже использовали и какой код уже написали, чтобы это произошло? (Вы можете добавить эту информацию к своему вопросу, отредактировав ее).

В любом случае, я предполагаю, что у вас по крайней мере есть элемент управления ListView (например, ListView1) и элемент управления Button (например, DeleteRow), и что вы знаете о событии нажатия этой кнопки, DeleteRow_Click (если нет, дважды нажмите кнопку в форме дизайнер, и вы поймете, что я имею в виду).

Теперь вам нужно добавить код в событие DeleteRow_Click. Некоторые подсказки:

  • Текущей выбранной строкой (элементом) в ListView является ListView1.SelectedItem. SelectedItem - это объект с некоторыми полезными свойствами: вы можете изучить их с помощью обозревателя объектов VB и / или Intellisense в редакторе. Также обратите внимание на то, что происходит, когда в ListView не выбран элемент NO: вы также можете проверить это, поместив точку останова в строку, которая присваивает SelectedItem переменной, а затем с помощью отладчика проверить его после запуска приложения и нажатия кнопки. без предварительного выбора элемента в списке (в реальном приложении вы обычно отключаете кнопку, пока элемент не будет выбран, но давайте не будем забегать вперед ...)

  • ListView1 также имеет коллекцию, которая представляет все элементы в нем: он называется ListItems, а также имеет несколько полезных свойств и методов (например, .Remove ...), готовых для изучения с помощью F2 или Intellisense.

  • Чтобы спросить пользователя, действительно ли он / она действительно уверен во всем этом, удалите функцию MessageBox: эта функция немного сложная, поскольку она довольно точно отображается в вызове API Windows, но Общая идея заключается в том, что вы передаете некоторые значения флагов (суммируя их вместе), чтобы указать, какой тип окна сообщения вы хотите (в виде значков и кнопок). Затем вы проверяете возвращаемое значение, чтобы увидеть, какую кнопку выбрал пользователь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...