Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
1

Сравнить строки listbox с временем и закрасить их

22.12.2017, 10:15. Показов 1098. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
---------------
Мне нужно по таймеру,
Сравнить строки ListBox1 с временем (TimeOfDay)
и закрасить строки ListBox1, если они равны времени (TimeOfDay) в зелёный цвет.
--------------------------------------
Подскажите, как это можно сделать.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.12.2017, 10:15
Ответы с готовыми решениями:

Как корректнее сравнить две строки с временем
Здравствуйте, подскажите пожалуйста в одном вопросе. Я из внешнего файла "достаю время" в таком...

Сравнить строки listbox c Edit.text
Доброго времени суток. возникла небольшая проблема, не знаю как сравнить данные в Edit1.text с...

Сравнить два ListBox-а, совпадающие элементы вывести в третий ListBox
Друзья, есть два Listbox, в которых храниться значения = папка и путь( пример "D:\папка) И во...

Сравнить каждый MaskedTextBox с текущем временем
На форме 14 MaskedTextBox заполняются из файла. После заполнения нужно сравнить каждый...

3
Лень — мое второе и
3206 / 2397 / 684
Регистрация: 28.11.2014
Сообщений: 3,587
Записей в блоге: 3
22.12.2017, 11:06 2
Лучший ответ Сообщение было отмечено Волшебник 307 как решение

Решение

Волшебник 307,
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Public Class Form1
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Timer1.Enabled = True
    End Sub
 
    Private Sub ListBox1_DrawItem(sender As Object, e As DrawItemEventArgs) Handles ListBox1.DrawItem
        ' Перерисовываем фон всех элементов ListBox.  
        e.DrawBackground()
 
        ' Создаем объект Brush.  
        Dim myBrush As Brush = Brushes.Black
 
        ' Определяем номер текущего элемента  
        If ListBox1.Items.Item(e.Index).ToString = TimeOfDay Then
            myBrush = Brushes.Green
        Else
            myBrush = Brushes.Black
        End If
 
        ' Перерисовываем текст текущего элемента  
        e.Graphics.DrawString(DirectCast(sender, ListBox).Items(e.Index).ToString(), e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
 
        ' Если ListBox в фокусе, рисуем прямоугольник   
        'вокруг активного элемента.  
        e.DrawFocusRectangle()
 
 
    End Sub
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ListBox1.DrawMode = DrawMode.OwnerDrawFixed
        Me.DoubleBuffered = True
        Timer1.Enabled = False
        Timer1.Interval = 1000
    End Sub
 
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        ListBox1.Refresh()
    End Sub
End Class
4
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
22.12.2017, 13:58  [ТС] 3
Orlangur1991,
Здесь почему-то исключение возникает.
индекс не проходит в этой строке:
VB.NET
1
If ListBox1.Items.Item(e.Index).ToString = TimeOfDay Then
Миниатюры
Сравнить строки listbox с временем и закрасить их  
0
Лень — мое второе и
3206 / 2397 / 684
Регистрация: 28.11.2014
Сообщений: 3,587
Записей в блоге: 3
22.12.2017, 15:16 4
Волшебник 307, с пустым listbox не работает, добавьте в drawItem проверку
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  If e.Index > -1 Then
            ' Определяем номер текущего элемента  
            If ListBox1.Items.Item(e.Index).ToString = TimeOfDay Then
                myBrush = Brushes.Green
            Else
                myBrush = Brushes.Black
            End If
 
            ' Перерисовываем текст текущего элемента  
            e.Graphics.DrawString(DirectCast(sender, ListBox).Items(e.Index).ToString(), e.Font, myBrush, e.Bounds, StringFormat.GenericDefault)
 
            ' Если ListBox в фокусе, рисуем прямоугольник   
            'вокруг активного элемента.  
            e.DrawFocusRectangle()
        End If
2
22.12.2017, 15:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2017, 15:16
Помогаю со студенческими работами здесь

сравнить время выполнения процесса с эталонным временем
Здравствуйте.Мне нужно сравнить время выполнения процесса с эталонным временем(эталонное время в...

Закрасить фон нужного элемента в ListBox
Собственно мне нужно закрасить определённые строки... но не те, который выделяются при нажатии, а...

Закрасить файл из ListBox в соответствии с его расширением
Здравствуйте, подскажите в чем ошибка. Код работает некорректно. имееттся словарь...

Как сравнивать данные времени в ListBox с текущем временем
у меня в листбокс находится время запуска процесса, постепенно я заношу данные в листбокс. как...


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

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