1

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

1)我如何设置它以便父背景颜色通过?

2) “你”将如何创建 Firefox 后退和前进按钮以及地址栏?

4

1 回答 1

1

1)我如何设置它以便父背景颜色通过?

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

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

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

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

随着您父级的 BackColor 更改,它会随时传播到您的子控件。

于 2015-11-27T08:27:11.887 回答