#vb.net
#vb.net
Вопрос:
У меня был небольшой проект на VB, и у меня возникла проблема, которая нуждается в вашей помощи.
В проекте в VS 2008 у меня была кнопка с именем «demo_btn», индикатор выполнения с именем «complete_pb», функция с именем «doSomething» и класс, подобный этому:
Public Class Demo
Private Sub demo_btn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles demo_btn.Click
'the progress bar starts running when the button is clicked
doSomething
'the progress bar stops at 100% when the function doSomething is done
End Sub
End Class
Все, что мне нужно, это чтобы индикатор выполнения запускался при нажатии кнопки и останавливался на 100%, когда функция doSomething выполнена. Проблема в том, что я не знаю, когда функция doSomething завершается.
Я погуглил, но не смог найти ничего, что мне подходит.
У вас, ребята, есть какие-нибудь идеи, чтобы мне помочь? большое спасибо.
Комментарии:
1. Да, вы знаете, когда она завершается, потому что элемент управления возвращается из
doSomething
back in в todemo_btn_Click
. Это если вы не используете другой поток где-нибудь.2. Проверьте пример о BackgroundWorker
3. A
ProgressBar
— это не волшебство. Все, что он делает, это отображает визуальное представление соотношения, и вам решать, предоставить это соотношение. Вы можете отображать прогресс, только если можете измерить прогресс. Можете ли вы измерить прогрессdoSomething
? Если нет, то вы не сможете отобразить его прогресс. это было бы волшебно. Если вы можете измерить это, сделайте это и настройте соответствующимProgressBar
образом. В противном случае лучшее, что вы можете сделать, это установитьStyle
Marquee
значение, чтобы указать, что что-то происходит. Даже тогда вам нужно будет что-то сделать во вторичном потоке илиProgressBar
не удается анимировать.4. @Martheen, я думаю, что идеи о BackgroundWorker работают для меня 🙂