Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 39
1

По клику на ListView в Label отоборажается информация из SubItems

09.01.2012, 11:35. Показов 1707. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! По клику на ListView в лабелах отоборажается информация из SubItems. Всё в принципе работает правильно, но мне кажется что это выглядит как-то не очень красиво. Существует ли какой нибудь способ, чтобы всё это художество, закрыть оператором Select Case?

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
        If ListView1.SelectedItems.Count > 0 Then
           With ListView1.SelectedItems(0)
                If .SubItems(1).Text = "" Then
                    Label1.Text = "No info"
                Else
                    Label1.Text = .SubItems(1).Text
                End If
                If .SubItems(2).Text = "" Then
                    Label2.Text = "No info"
                Else
                    Label2.Text = .SubItems(2).Text
                End If
                If .SubItems(3).Text = "" Then
                    Label3.Text = "No info"
                Else
                    Label3.Text = .SubItems(3).Text
                End If
               'И т.д.
          End With
        End If
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.01.2012, 11:35
Ответы с готовыми решениями:

Поиск в ListView в Subitems
Всем привет! Помогите реализовать поиск в ListView в Subitems. SubItems в ListView заполняется...

Редактирование subitems в listview
Подскажите, как отредактировать subitem в listview. Спасибо. Добавлено через 17 минут Я НЕ имею...

ListView - клик по Item.SubItems
На скриншоте видно, нужно сдлать возможность клика и редактирования СУБОБЪЕКТА

Как добавить subitems в listview
У меня есть listview, список имён например. Как мне добавить subitem в listview.

7
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
09.01.2012, 17:32 2
одно и тоже в 3 лабелах у тебя отражается

Добавлено через 2 минуты
а , нет, сори
1
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 39
09.01.2012, 17:33  [ТС] 3
Цитата Сообщение от eJ_Studio Посмотреть сообщение
одно и тоже в 3 лабелах у тебя отражается
Как одно и то же?
Если в subIteme есть текст, то он отображается в соответсвуещем лабеле, если текс пуст, то "Label.Text = "No Info"
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
09.01.2012, 17:34 4
с селект кейс не получится, то есть получится но уж слишком много их будет, еще нагроможденнее
1
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 39
09.01.2012, 17:38  [ТС] 5
Цитата Сообщение от eJ_Studio Посмотреть сообщение
с селект кейс не получится, то есть получится но уж слишком много их будет, еще нагроможденнее
т.е. рекомендуешь оставить всё как есть? Дело в том что у меня в ListView не три СубИтема как я указал в коде, а десять, поэтому и получатся в любом случае нагромождение.
Может накиешь пример с Select Case, для полного успокоения, так сказать?
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
09.01.2012, 19:15 6
сча покумекаю, мож че накумекаю

Добавлено через 45 минут
чего наверно можно сделать, но на первый взгляд только так
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   If ListView1.SelectedItems.Count = 0 Then Return
 
        Select Case ListView1.SelectedItems(0).SubItems(1).Text
            Case ""
                Label1.Text = "No info"
            Case Else
                Label1.Text = ListView1.SelectedItems(0).SubItems(1).Text
        End Select
 
        If ListView1.SelectedItems(0).SubItems(2).Text = "" Then
            Label2.Text = "No info"
        Else
            Label2.Text = ListView1.SelectedItems(0).SubItems(2).Text
        End If
        If ListView1.SelectedItems(0).SubItems(3).Text = "" Then
            Label3.Text = "No info"
        Else
            Label3.Text = ListView1.SelectedItems(0).SubItems(3).Text
        End If
Потому как у тебя не одно условие а 10

Добавлено через 50 минут
конечно не по теме, но вот чтоб красиво было
VB.NET
1
2
3
4
5
6
7
8
9
10
11
   Private Sub ListView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListView1.MouseMove
        Dim s As String = String.Empty
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.GetItemRect(i).Contains(e.Location) Then
                s = ListView1.Items(i).SubItems(4).Text
                Exit For
            End If
        Next
        ToolTip1.SetToolTip(sender, s)
        'ToolTip1.Show(s, sender)
    End Sub
1
1 / 1 / 0
Регистрация: 06.09.2011
Сообщений: 39
10.01.2012, 08:52  [ТС] 7
eJ_Studio, Извиняюсь за поздний ответ, был очень занят. Спасибо тебе большое, щас проверил, всё работает.
0
169 / 149 / 14
Регистрация: 13.07.2011
Сообщений: 477
10.01.2012, 18:39 8
да за что спасибо то..я и не помог толком
0
10.01.2012, 18:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2012, 18:39
Помогаю со студенческими работами здесь

SubItems ListView недоступны для редактирования
В listview доступен только первый столбцы, остальные не реагируют на нажатия. Как исправить?

ListView , как добавить картинку в SubItems
такой код: Dim item1 As New ListViewItem(name, 0) ...

ListView, его Subitems и ошибка связанная с ними
На форме есть listView со столбцами (заданными в конструкторе), элементами и "подэлементами"...

Информация по клику на строку в таблице
Здравствуйте друзья, не знаю как точно написать, но суть такая: пытаюсь сделать кнопку в таблице...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru