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

Работа с ListBox, ComboBox, CheckedListBox

 
 

В этом шаге я напишу о работе только с ListBox. Т.к. объекты ListBox, ComboBox, CheckedListBox имеют одинаковые свойства и методы, то с ними ты сам спокойно разберешься.
На форме размести ListBox, TextBox, Label, и 3 кнопки(Button1.Text = "Добавить запись", Button2.Text = "Удалить запись", Button3.Text = "Очистить"). У тебя должно получиться примерно так:

Теперь код:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' При нажатии на кнопку 'Добавить запись'
ListBox1.Items.Add(TextBox1.Text) ' Добавляем запись, с текстом, который введен в текст. поле
End Sub 

Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged ' Если в ListBox`e выбрана запись(т.е. при клике), то:
Label1.Text = "Номер записи: " & ListBox1.SelectedIndex + 1 & " из " & ListBox1.Items.Count ' В метке показываем номер выбранной записи(SelectedIndex(перевод: Selected - Выбранный, Index - Индекс)(+1 - т.к. первая запись - 0)), и показываем сколько всего записей(Items.Count(перевод: Items - записи, Count - количество))
TextBox1.Text = ListBox1.SelectedItem ' В текст. поле показываем выбранную запись(Selected - выбранная, Imem - запись)
End Sub 

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ' При нажатии на кнопку 'Удалить запись'
If ListBox1.SelectedItem <> "" Then ' Если запись выбранна:
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex) ' Удаляем ее
Else ' Если запись не выбранна, то выдаем сообщение:
MsgBox("Выберите запись!")
End If
End Sub 

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ' При нажатии на кнопку 'Очистить'
ListBox1.Items.Clear() ' Очищаем ListBox
End Sub 

Исходник


Есть вопросы? Спроси на нашем форуме!!
Enfopay [20.11.2010 07:38]

Спасибо что создали этот сайт. Приятно читать.

Enfopay [22.11.2010 01:23]

Обалденный пост! Больше таких надо! Буду с радостю читать вас ещё!

Миша [18.05.2011 21:18]

Согласен

venny [31.05.2011 15:32]

kruta

Riga [31.05.2011 18:36]

respect

71kosty@n97 [05.09.2011 22:29]

Сайт просто отлично, автор молодец!!! Ну перейду к вопросу, а как сделать чтоб был экспорт из listbox в textbox?

SomethingRandom [23.02.2012 13:35]

vdsvsdv

Арсен [30.03.2012 18:22]

хотелосьбы спросить у знаюших как вместиь большое количество строк в listbox. Дело в том что хочу создать список имен порядка 2тыс-3тыс онако listbox не вмешает больше 700 строк. Пожалуйста сжажите как увеличить объем строк, заранее спосибо.

Diamock [30.03.2012 19:34]

Нет смысла загружать в ListBox - большие списки. Раздели свои данные по категория и подгружай по мере необходимости.

Алексей(alex13sh) [31.03.2012 01:50]

Арсен, по алфавиту. можно в комбо бокс алфавит сделать и выбрать любую букву и всё загружать с txt

Михаил [02.04.2012 16:37]

Алексей(alex13sh) а можно сделать так чтобы Listbox при загрузке форму открыл файл txt содержащий в себе списки, если да то откроит ли Listbox все содержимое файла. И еше вопрос, я хочу сделать словарь из объектов Listbox и textbox, выбрав мышкой слово на перво отображается на втором, можно ли придумать нечто поумнее для словоря нежли этот вариант?

alex13sh [02.04.2012 19:22]

можно , но я изучаю vb6 миютуе я плохо знаю

Юра (Shade) [03.04.2012 22:22]

Вот таким способом можно считать в ListBox


Private Sub Form_Load()
Dim strTextList As String
Dim i As Long
Dim f As Long

f = (FreeFile)

Open ("C:\1.txt") For Input As #f
Do Until EOF(f)
DoEvents
For i = (0) To (EOF(f))
Line Input #f, strTextList
Me.List1.AddItem strTextList, i
Next i
Loop
Close #f
End Sub

Михаил [15.05.2012 16:26]

Вот интересно устроена энциклопедия кирила и мефодия, в поиск этой программы вводиться часть слова, как в списке появляеться искомое слово или что то похожее на него. Хотоелось бы узнать как сделать на VB.NET нечто похожее?

Edik [08.10.2012 19:20]

Dolgo iskal, kak nachinajushij!!!!

vavadim [18.03.2013 11:58]

подскажите, как сохранить в списке добавленные строки, чтоб при следующем запуске эти значения были в списке?

alex13sh300 [18.03.2013 20:13]

это запись и ч тение даных
Есть куча способов!
1) запись в файлы (open path for (InPut , OutPut , Binary )
2) реестр ( SaveSetting , GetAllSettings )
3) ресурс (vbrus.narod.ru/Info2.htm#74 )

Выбирай на свой вкус
тут не имеет роли что записывать главное как
чтоб лист в тхт файл записать пишем
Open Path For OutPut as 1
Print #1, txt & vbCrLf ' Вроде так
close 1
Подробнее http://vbbook.ru/visual-basic/faiylu-v-visual-basic-vvedenie/

ozzee20 [04.06.2013 12:37]

а как сделать чтобы сохранялись данные сохранялись при выходе из программы?Например как их сохранить в текстовый файл в VB Resource Editor?

ozzee20 [04.06.2013 12:39]

я про vb6

Shade970 [04.06.2013 13:52]

Что именно сохранялось?

Coolhacker770 [04.06.2013 18:08]

VB6 - писать в файлы, в VB.NET сериализовывать

adminus [11.02.2016 11:17]

А как очистить listbox от данных из базы.
т.е. записали мы туда данные из базы, и нужно ее очистить и занова записать в listbox
ListBox1.DataSource = Nothing
ListBox1.Items.Clear()
очищают но дальше не дает заполнить



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




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