首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StatusStrip中的多个进度条

StatusStrip中的多个进度条
EN

Stack Overflow用户
提问于 2017-02-03 15:42:48
回答 1查看 1.2K关注 0票数 1

我有一个应用程序,其中可以有几个冗长(分钟)的任务同时发生在后台(即相同的任务,对于不同的帐户,有些帐户花费更长的时间)。我想并行显示每项任务的进度条和状态文本。我想,如果有很多这样的帐户,我可以在另一个窗口中显示,但目前的情况是只有2-4个帐户,因此我想在主窗体底部的StatusStrip中显示进度条。我认为StatusStrip应该发展壮大,我会根据任何给定时间处理的帐户数动态地将ToolStripProgressBar和ToolStripStatusLabel添加到另一个之上。这个是可能的吗?我考虑在TableLayoutPanel中使用StatusStrip,但是Visual只允许将很少的组件添加到StatusStrip中。我用编程方式添加这个有问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-03 16:01:39

可能这不是一个智能UI设计,但是仅仅为了了解您的信息,您可以使用ToolStripControlHost添加任何控件。下面是一个简单的示例,它允许您使用代码在单个StatusBar项中添加多个StatusStrip控件:

代码语言:javascript
复制
ToolStripControlHost host;
FlowLayoutPanel panel;
private void button1_Click(object sender, EventArgs e)
{
    if (panel == null)
    {
        panel = new FlowLayoutPanel();
        panel.FlowDirection = FlowDirection.TopDown;
        panel.WrapContents = false;
        panel.AutoSize = true;
        panel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
    }
    if (host == null)
    {
        host = new ToolStripControlHost(panel);
        this.statusStrip1.Items.Add(host);
    }
    panel.Controls.Add(new ProgressBar() { /* Value = new Random().Next(0, 100) */ });
}

注意:您还可以扩展ToolStripControlHost以提供设计时支持,这样就可以查看如何:用ToolStripControlHost包装Windows控件

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

https://stackoverflow.com/questions/42027926

复制
相关文章

相似问题

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