3 回答

TA貢獻1812條經(jīng)驗 獲得超5個贊
我從來不喜歡為此做自己的繼承控件。因此,我對私有SetStyle函數(shù)進行了包裝。
嘗試使用它而不是創(chuàng)建自己的類?
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條經(jīng)驗 獲得超4個贊
創(chuàng)建一個從TextBox繼承的新控件,設(shè)置樣式以允許構(gòu)造函數(shù)中的透明度。然后使用新控件代替TextBox
在構(gòu)造函數(shù)中執(zhí)行以下操作:
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
這將使您的新控件具有透明的背景色。
您可以在這里閱讀更多有關(guān)控件樣式的信息。MSDN:Control Styles,
- 3 回答
- 0 關(guān)注
- 601 瀏覽
添加回答
舉報