Почему несрабатывает замена строки в ListBox??

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Почему несрабатывает замена строки в ListBox??

Сообщение Rayrat7 » 13.07.2012 (Пт) 10:49

Подскажите пожалуйста почему несрабатывает замена?
есть ListBox, пытаюсь заменить строку на текст из TextBox,
Что я неправильно делаю?
Код: Выделить всё
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If ListBox1.SelectedItem <> "" Then
            ListBox1.SelectedItem = TextBox1.Text
            MsgBox("Выберите запись!")
        End If
    End Sub

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.07.2012 (Пт) 12:09

Меняй по индексу:
Код: Выделить всё
ListBox1.Items(SListBox1.SelectedItem) = TextBox1.Text

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Почему несрабатывает замена строки в ListBox??

Сообщение Rayrat7 » 13.07.2012 (Пт) 12:37

InvalidArgument=Значение '-1' недопустимо для 'index'.
Имя параметра: index

во как ругается теперь

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Почему несрабатывает замена строки в ListBox??

Сообщение Rayrat7 » 13.07.2012 (Пт) 12:37

фокус чтоли слетает както?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.07.2012 (Пт) 12:56

Значение -1 означает, что выбранных элементов нет.

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Почему несрабатывает замена строки в ListBox??

Сообщение edyapd » 13.07.2012 (Пт) 19:40

Не совсем понял, что требуется. Но рискну предложить:
Код: Выделить всё
Public Class Form1

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        If TextBox1.Text <> "" Then
            'ListBox1.SelectedItem = TextBox1.Text                      ' Выбрать эту
            ListBox1.Items.Item(ListBox1.SelectedIndex) = TextBox1.Text ' или эту строку
        Else
            TextBox1.Text = ListBox1.SelectedItem
        End If
    End Sub
End Class

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 13.07.2012 (Пт) 20:13

edyapd писал(а):Но рискну предложить:

Сомнительно. Скорее так:
Код: Выделить всё
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  LsitBox1.SelectedIndex = 0
End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  If ListBox1.SelectedItem <> "" AndAlso TextBox1.Text.Length Then ListBox1.Items(SListBox1.SelectedItem) = TextBox1.Text
End Sub

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Почему несрабатывает замена строки в ListBox??

Сообщение edyapd » 13.07.2012 (Пт) 20:51

Qwertiy писал(а):Сомнительно. Скорее так:

Я просто не понял, что автору требуется.
Если поменять текст в строке ListBox, то приведеный мною пример это сделает.
Else, конечно нужно будет убрать. И ввести строку проверки, что выбрана строчка в ListBox.
Если же требуется что то другое, то пускай объяснит "для тех кто в танке".
Если же разремить первую строку, вместо второй, то будет происходить поиск строки в ListBox по тексту в TextBox. Во всяком случаи у меня так было.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Re: Почему несрабатывает замена строки в ListBox??

Сообщение Qwertiy » 13.07.2012 (Пт) 22:14

У него Exception на ListBox1.Items(ListBox1.SelectedItem) = TextBox1.Text из-за того, что нет выбранного элемента.

Rayrat7
Начинающий
Начинающий
 
Сообщения: 20
Зарегистрирован: 13.07.2012 (Пт) 10:43

Re: Почему несрабатывает замена строки в ListBox??

Сообщение Rayrat7 » 16.07.2012 (Пн) 5:23

edyapd Спс!! все заработало!)
Код: Выделить всё
Public Class Form1

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

        If TextBox1.Text <> "" Then
            'ListBox1.SelectedItem = TextBox1.Text                      ' Выбрать эту
            ListBox1.Items.Item(ListBox1.SelectedIndex) = TextBox1.Text ' или эту строку
        Else
            TextBox1.Text = ListBox1.SelectedItem
        End If
    End Sub
End Class


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15

    TopList