Multiple Progress Bars in StatusStrip

偶尔善良 提交于 2019-12-02 04:28:00

Probably it's not an intelligent UI design, but just for your information, you can add any control using ToolStripControlHost. Here is a simple example which lets you add multiple StatusBar controls in a single item of StatusStrip using code:

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) */ });
}

Note: You also can extend ToolStripControlHost to provide design-time support, to do so take a look at How to: Wrap a Windows Forms Control with ToolStripControlHost.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!