Я в основном хочу внедрить Label и постоянно показывать информацию пользователю. Я хочу иметь возможность сделать что-то вроде этого:
someMethod():
printMessage("Starting program")
doWork() //possibly does some calls to printMessage()
printMessage("Finished program")
end
printMessage(string message)
mylabel.Text += message
end
И ярлык на форме Windows постоянно показывает этот вывод. То есть вместо того, чтобы пользователю приходилось ждать, пока не завершится someMethod (), и когда вся информация внезапно была выгружена на этикетку, я хочу, чтобы она выводилась на этикетку по мере выхода информации.
Я попытался посмотреть на многопоточность, чтобы решить эту проблему, и у меня она работает, используя код, подобный следующему:
someMethod():
Dim t As New Thread(AddressOf printMessage)
t.Start("Starting program")
doWork()
printMessage("Finished program")
end
(И есть делегат для printMessage, и внутри я проверяю свойство InvokedRequired mylabel) Но при этом я продолжаю получать всю информацию, просто внезапно сбрасываемую на метку, и порядок больше не сохраняется. Я могу получить вывод как:
"some other data from doWork()"
"Finished program"
"Starting program"
Так есть идеи, как мне это сделать?
Спасибо.