好的,我正在创建(尝试)基于 System.Windows.Forms.Button 的自定义控件。如果我将 BackColor (this.BackColor) 设置为 Color.Transparent,我会得到黑色背景。任何其他颜色都可以正常工作。
1)我如何设置它以便父背景颜色通过?
和
2) “你”将如何创建 Firefox 后退和前进按钮以及地址栏?
好的,我正在创建(尝试)基于 System.Windows.Forms.Button 的自定义控件。如果我将 BackColor (this.BackColor) 设置为 Color.Transparent,我会得到黑色背景。任何其他颜色都可以正常工作。
1)我如何设置它以便父背景颜色通过?
和
2) “你”将如何创建 Firefox 后退和前进按钮以及地址栏?
1)我如何设置它以便父背景颜色通过?
在构造函数中将子控件设置为BackColor
等于父控件BackColor
是一个问题,因为在BackColor
调用构造函数时父控件可能还不是好控件。
如果您打算在运行时更改它,则尤其如此。
您可以通过在父控件构造函数中使用 Windows 窗体的良好的旧可靠 DataBinding 机制来非常简单地克服这个问题:
myChildControl.DataBindings.Add("BackColor", this, "BackColor");
随着您父级的 BackColor 更改,它会随时传播到您的子控件。