如何在C#Windows窗体中创建自定义ToolStripProgressBar?

时间:2011-09-30 09:39:35

标签: c# .net winforms c#-4.0 windows-forms-designer

如何在C#Windows窗体中创建自定义ToolStripProgressBar?

我想创建一个样式为continuos的进度条,但是在windows xp中它是不可能的..

那么如何设置此控件的所有者绘图?

1 个答案:

答案 0 :(得分:1)

我可以为您提供有关ToolStripControlHost的更多信息,我使用以下代码创建了一个ProgressBar

public class ToolStripProgressBarC : ToolStripControlHost
{
    // Call the base constructor passing in a ProgressBar instance.
    public ToolStripProgressBarC() : base(new ProgressBar()) 
    {
        ((ProgressBar)Control).Style = ProgressBarStyle.Continuous;
    }

    public ProgressBar ProgressBarControl
    {
        get
        {
            return Control as ProgressBar;
        }
    }

    // Expose the ProgressBar.Value as a property.
    public int Value
    {
        get
        {
            return ProgressBarControl.Value;
        }
        set { ProgressBarControl.Value = value; }
    }

}

然后我将它添加到我的工具条中。

ToolStripProgressBarC tsp = new ToolStripProgressBarC();
tsp.Value = 90;
toolStrip1.Items.Add(tsp);

您应该可以通过向“ToolStripProgressBarC”类添加额外功能来执行您想要的任何额外覆盖。