首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ProgressBar值未增加

ProgressBar值未增加
EN

Stack Overflow用户
提问于 2013-05-17 19:08:04
回答 2查看 236关注 0票数 0

我在login表单中添加了一个进度条。

login表单中单击sign in按钮后,next表单从数据库中获取一些值(在表单加载中),然后在获取数据后打开next表单。

现在,在打开next表单之前,我想在login表单的进度栏中显示数据获取的进度。因此,我以next形式添加了以下代码。

代码语言:javascript
复制
Login login = new Login();

//loop...................

_recordCount = _recordCount + 1;

// Increment ProgressBar 

ProgressBar progressBar = (ProgressBar) login.Controls["progressBarMainPageLoad"];
if (_recordCount*10 < 100)
{
    progressBar.Value = _recordCount*10;
}

login表单中的进度条没有变化。它有什么问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-17 19:21:19

如果我没理解错您的代码,您会尝试用引用登录表单的当前实例

代码语言:javascript
复制
Login login = new Login();

当您在'next'表单中时。但是这一行创建了Login表单的一个新实例,并且从这个新实例中获得了进度条控件。因此,您实际上是在递增不在监视器上显示的窗体上的进度条。

为了证明这一点,添加了一个

代码语言:javascript
复制
login.Show() 

在调用增量之前。

要解决这个问题,您需要在此next表单中传递登录表单的正确实例并引用它

票数 0
EN

Stack Overflow用户

发布于 2013-05-17 19:14:53

您应该为您的任务使用BackgroundWorker

使用ProgressChanged事件更改进度条值,使用DoWork从数据库获取值。

不要忘记将WorkerReportsProgress属性设置为true。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16607511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档