Программирование
Веб программирование

Объекты в visual basic. ListBox и ComboList

 
 

Объект ListBox особо не нужен, но иногда без него не обойтись. В этом шаге я научу тебя им пользоваться, хотя сам только недавно научился (когда он очень понадобился). Начнем. Создай новый проект(Standart EXE), на него кинь 2 текстовых поля, 2 кнопки, и 1 ListBox. У ListBox в свойстве List напиши любые слова - они и будут видны в списке.

Свойство List

У первой кнопке свойство Caption будет "Удалить запись", у второй "Добавить запись". Вот что у тебя должно получиться:

Свойство List

Вот код:

Private Sub Command1_Click() 'При нажатии на кнопку:
List1.RemoveItem (List1.ListIndex) 'У объекта ListBox есть свойство RemoveItem - оно нужно для удаления записи, но только по индексу (у самой первой записи индекс = 0, у второй 1 - итак до упора) 
End Sub

Private Sub Command2_Click()
'Сюда можно втыкнуть On Error Resume Next, т.к. если запись не выбрана, то произойдет ошибка
List1.AddItem Text2.Text 'Добавляем запись, здесь есть свойство AppItem оно нужно для добавления записи, потом идет пробел, а за ним любой текст (в этом примере будет добавляться запись с текстом введенным в текстовое поле")
End Sub

Private Sub List1_Click()
Text1.Text = List1.Text 'Текстовое поле 1 равно выбранной записи
End Sub

Исходник программы можешь скачать отсюда.

А что касается ComboList - с ним работать точно также как и с ListBox, но там еще есть свойство Text(это самая первая запись). Здесь я не буду тебе объяснять работу с этим объектом, а дам задание: Твоя миссия сделать такую же программу, как и ListBox, но только с ComboBox.


Есть вопросы? Спроси на нашем форуме!!
Гость [26.09.2010 17:31]

У меня заработало , только когда я добавил '=1'


Private Sub Command1_Click()
List1.RemoveItem (List1.ListIndex = 1)
End Sub

Гость [26.09.2010 17:32]

Вопрос: объясните,пожалуйста.

Enfopay [20.11.2010 02:31]

Здраствуйте! Я тут в первый раз, но 100% останусь тут на долго так как дико понравилась новость!

ille@life [21.05.2011 17:03]

Если сделать
List1.RemoveItem (List1.ListIndex = 1),
то нельзя удалять вторую запись, пишет ошибку,
а вообще работает одинаково.

asmodea [13.10.2011 20:11]

заработало когда в последней процедуре поменяла местами операторы. получилось так: List1.Text = Text1.Text

Гость [06.11.2011 15:01]
алексей [12.11.2011 19:17]

asmodea, попробуй так :
Text1.Text = List1.List(List1.ListIndex)
List1.RemoveItem (List1.ListIndex) у меня так получаеться

алексей [12.11.2011 19:19]

asmodea, так тоже получаеться :
Text1.Text = List1.Text

Кирилл [01.03.2012 13:17]

List1.RemoveItem Text1.Text

SS501 [08.10.2012 13:44]

almat-92.92@mail.ru

Александр [11.01.2013 17:47]

On Error Resume Next надо добавить после Command1Click(), не Command2Click()
иначе все равно выбивает прогу ошибкой

alex13sh300 [11.01.2013 18:24]

Александр, а лучше уусловие
if not List1.ListIndex=-1 then List1.RemoveItem (List1.ListIndex)
или if List1.ListIndexЮ=0 then List1.RemoveItem (List1.ListIndex)

Dimetriy08 [27.01.2013 15:05]

Private Sub Command1Click()
Combo1.AddItem Text2.Text

Для Comb*o:

Private Sub Command2
Click()
On Error Resume Next
Combo1.RemoveItem (Combo1.ListIndex)
End Sub

Private Sub List1_Click()
Text1.Text = Combo1.Text
End Sub

vavadim [15.02.2013 13:55]

Подскажите:
использую запись:

Private Sub AddStr_Click()
String1 = Text1.Text
List1.AddItem String1
End Sub

строка добавляется, но при следующем запуске она пропадает(

как сделать чтобы новые строки сохранялись в списке?

Shade970 [15.02.2013 15:11]

Нужно сохранять их.

vavadim [15.02.2013 15:45]

я и спрашиваю: "КАК" ?

alex13sh300 [15.02.2013 16:39]

в файлы ( http://vbbook.ru/visual-basic/vb-rabota-s-faiylami-zapysk-faiylov/ )
в реестр

Короче ЧИТАЙ ВСЕ СТАТЬИ!

Samou4120 [05.03.2013 18:48]

Очень важно соблюдать расположение (имеется ввиду нумерация) всех объектов как на скрине у Автора, и тогда всё работает


А для КомбоЛиста вот такой код у меня получился :

Private Sub Combo1Change()
Text1.Text = Combo1.Text
End Sub

Private Sub Combo1
Click()
Text1.Text = Combo1.Text
End Sub

Private Sub Command1Click()
Combo1.RemoveItem (Combo1.ListIndex)
End Sub

Private Sub Command2
Click()
Combo1.AddItem Text2.Text
End Sub



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.