使用 C++/CLI 从线程更新状态栏
我确信这是一个非常简单的问题。 我正在使用 C++/CLI 编写一个小型 Windows 窗体应用程序。 当表单初始化时,我启动一个线程来处理一些代码。 当执行线程中的代码时,我希望线程以某种方式更新窗口底部状态栏中的文本。 所以我在想这样的事情:
- 我创建一个事件。
- 然后我创建将进行一些处理的线程。
- 处理完成后,触发一个事件,使状态栏中的文本更新。
这是一条合理的路吗? 如果是这样,如何从线程内更新状态栏? 也许有更聪明的方法来实现这一目标?
I'm sure this is a pretty straight forward question. I'm writing a small windows forms app using C++/CLI. When the form initializes, I start a thread that will process some code. When the code in the thread is executed, I want the thread to somehow update the text in a statusbar in the bottom of the window. So I was thinking something like this:
- I create an event.
- Then I create the Thread that will do some processing.
- When the processing is done, fire an event that makes the text in the statusbar update.
Is this a reasonable way to go? If so, how do I update the statusbar from within the thread? Maybe there is a smarter way to acheive this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
声明一个类似的方法,更改给定字符串的状态文本:
并在另一个线程中使用
Invoke
:Invoke
将在 UI 线程上使用指定参数调用给定委托。Declare a method like that changes the status text given a string:
and from the other thread, use
Invoke
:Invoke
will call the given delegate with the specified parameters on the UI thread.