3 回答
TA贡献1812条经验 获得超5个赞
我从来不喜欢为此做自己的继承控件。因此,我对私有SetStyle函数进行了包装。
尝试使用它而不是创建自己的类?
public static bool SetStyle(Control c, ControlStyles Style, bool value)
{
bool retval = false;
Type typeTB = typeof(Control);
System.Reflection.MethodInfo misSetStyle = typeTB.GetMethod("SetStyle", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
if (misSetStyle != null && c != null) { misSetStyle.Invoke(c, new object[] { Style, value }); retval = true; }
return retval;
}
bool itWorked = SetStyle(myControl, ControlStyles.SupportsTransparentBackColor, true);
TA贡献1829条经验 获得超4个赞
创建一个从TextBox继承的新控件,设置样式以允许构造函数中的透明度。然后使用新控件代替TextBox
在构造函数中执行以下操作:
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
这将使您的新控件具有透明的背景色。
您可以在这里阅读更多有关控件样式的信息。MSDN:Control Styles,
- 3 回答
- 0 关注
- 529 浏览
添加回答
举报