powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / помогите с отрисовкой listview
3 сообщений из 3, страница 1 из 1
помогите с отрисовкой listview
    #38901376
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Помогите разобраться. Есть код
Код: vbnet
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.
 Dim ProgressBar1 As New ProgressBar
                ProgressBar1.Name = "progressbar1_18"
                ProgressBar1.Location = New Point(TextBox3.Left, TextBox3.Bottom + 50)
                ProgressBar1.Size = New Size(200, 25)
                ProgressBar1.Step = 1
                ProgressBar1.Maximum = ListView1.CheckedItems.Count - 1
                Me.Panel1.Controls.Add(ProgressBar1)
For I = 0 To ListView1.Items.Count - 1
                    If ListView1.Items(I).Checked Then
                        ListView1.Refresh()
                        ListView1.EnsureVisible(I)
                        ListView1.Items(I).Selected = True
                        ListView1.Items(I).Focused = True
                        Me.Refresh()
                        Me.Focus()
                        If ListView1.Items(I).SubItems(2).Text = "X" Then
                            If My.Computer.FileSystem.DirectoryExists(ListView1.Items(I).SubItems(4).Text & "\DataBase\Convert") = True Then
                                My.Computer.FileSystem.CurrentDirectory = ListView1.Items(I).SubItems(4).Text 
                                Shell("ipconfig", AppWinStyle.NormalFocus, True)
                            End If
ListView1.Items(I).BackColor = Color.LightGoldenrodYellow

                        End If
                        ProgressBar1.Increment(1)
                    End If
                Next


Этот код висит на Button1_Click
При выполнении строки listview подкрашиваются желтым цветом, текущая строка выделяется, прогрессбар, двигается, но все это происходит до тех пор, пока не доходит до последней видимой строки в listview. После этого и listview и progressbar замирают, а цикл продолжает выполняться. После выполнения цикла progressbar сразу становится равным 100% и listview встает на последний элемент. Как заставить прокручиваться listview до выделенной строки и как заставить progressbar не замирать?
И еще, до кучи, вопрос. Может кто подскажет, как реализовать активность формы во время выполнения вызванного шела? Т.е. когда активен shell? форма становится неактивной. Т.е. остановить цикл невозможно. Вот можно как-либо реализовать так чтобы форма оставалась активной. и можно было бы остановить цикл по нажатию на другую кнопку?
...
Рейтинг: 0 / 0
помогите с отрисовкой listview
    #38901721
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Karlus,

Самый просто вариант, добавить в цикл Application.DoEvents(), можно сразу после изменения значения ProgressBar.
...
Рейтинг: 0 / 0
помогите с отрисовкой listview
    #38902116
Karlus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLADKarlus,
Самый просто вариант, добавить в цикл Application.DoEvents(), можно сразу после изменения значения ProgressBar.
Спасибо, о самом простом и не подумал)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / помогите с отрисовкой listview
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]