我正在尝试更改自定义控件的文本框的背景颜色(自定义控件名称为' tc1'文本框名称为' txtb') #39;更改'不在自定义控件中的按钮。我应该如何解决这个问题?
谢谢, Wayne Scicluna
答案 0 :(得分:1)
选项1:
您可以将TextBox
公开。为此,请转到您的用户控件的设计者,然后选择Modifier
属性并将值设置为public。
现在您可以在控件之外访问它。例如,如果您的用户控件实例名称为userControl1
,并且文本框的名称为txtb
:
userControl1.txtb.BackColor = Color.Red;
选项2:
作为另一种选择,您可以创建一个公共属性,并在该属性中获取或设置文本框颜色。
public Color TextBoxBackColor
{
get
{
return txtb.BackColor;
}
set
{
txtb.BackColor = value;
}
}
现在,您可以在控件之外访问此属性。例如,如果您的用户控件实例名称为userControl1
:
userControl1.TextBoxBackColor = Color.Red;
答案 1 :(得分:1)
由于您正在构建用户控件,因此可以将更改文本框的颜色视为控件的一项功能,并可以通过添加属性将其提供给客户端。
[Browsable(true)] // allows you to change it in the designer
public Color TextBoxBackColor
{
get { return txtb.BackColor; }
set { txtb.BackColor = value; }
}