【发布时间】:2013-12-16 10:08:01
【问题描述】:
我有一个表格,目前它除了打开什么都不做。该表单有 2 个控件 - 一个“关闭”按钮和一个进度条。但是,当我打开表格时,我什么也得不到。进度条只是坐在那里什么都不做。
我已经尝试过 Marquee(我知道它在 Windows 8 中可能无法使用)和 Continuous,但我都无法使用。
这就是我在程序启动时显示表单的方式 -
Sub main()
Dim ProgressForm As New formProgress
ProgressForm.ShowDialog()
End Sub
以下是进度条的属性。我是否错过了可以让这个酒吧工作的东西?谢谢。
其他信息
对于我的完整程序,我最初确实尝试对进度条使用块样式,但在尝试从 BackgroundWorker 更新进度条时,我不断收到以下错误。这就是为什么我试图让一个简单的 Marquee/Continuous 栏改为工作。
附加信息:跨线程操作无效:控件“proWorking”从创建它的线程以外的线程访问。
【问题讨论】:
-
您是如何尝试从 BackgroundWorker 访问进度条的?您应该将 BGW 的 WorkerReportsProgress 属性设置为 True,然后使用 BGW.ReportProgress() 方法和 BGW.ProgressChanged 事件来更新进度条。
-
您说得非常正确,这样做确实可以使“块”样式的进度条正常工作。我仍然觉得奇怪的是 Marquee 和 Continuous 都不起作用,即使是在一个实际上什么都没有发生的虚拟项目上。
标签: vb.net progress-bar