.Net自定义控件BackColor =透明给出黑色

时间:2013-09-29 02:17:03

标签: c# winforms firefox user-controls transparency

好的我正在创建(尝试)基于System.Windows.Forms.Button的自定义控件。如果我将BackColor(this.BackColor)设置为Color.Transparent,我会得到一个黑色背景。任何其他颜色都可以。

1)如何设置它以便父BackColor通过?

2)“你”如何创建Firefox goBack和goForward按钮以及地址栏?

1 个答案:

答案 0 :(得分:1)

1)如何设置它以便父BackColor通过?

在构造函数中将子控件的BackColor设置为等于父BackColor是一个问题,因为父BackColor可能不是好的,因为构造函数被调用

如果您打算在运行时更改它,则尤其如此。

您可以通过在父控件构造函数中使用Windows Forms的旧的可靠DataBinding机制来简单地克服这个问题:

myChildControl.DataBindings.Add("BackColor", this, "BackColor");

随着父级的BackColor发生变化,它会随时传播到您的子控件。