将进度条背景色设为透明c#

时间:2016-03-28 17:20:38

标签: c# winforms

我在面板上的winform中使用进度条我想要的是将进度条的背景颜色设置为透明,这样任何人都可以通过progree栏看到面板的图像

  

我知道我们可以使用透明度键并在winform中将颜色设置为进度条背面颜色,但我想将进度条背景颜色设置为透明,我认为transaprancy键不能用于面板中,所以有没有办法使进度条背景颜色变为透明?   当我把这段代码

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        panel1.BackColor = Color.Transparent;
        progressBar1.BackColor = Color.Transparent;
    }
}

它给我一些错误,比如

  

控件不支持透明背景颜色。

1 个答案:

答案 0 :(得分:-2)

此控件属性不受支持,因此请先设置属性

protected override void OnPaintBackground(PaintEventArgs p)
    {
        SetStyle(ControlStyles.SupportsTransparentBackColor, true);
        base.OnPaintBackground(p);
    }

现在控件取决于父控件(“透明度样式”),因此将其设置为透明

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        panel2.BackColor = Color.Transparent;
    }