编辑自定义控件中的控件 - c#winforms

时间:2015-10-06 20:12:47

标签: c# winforms

enter image description here

我正在尝试更改自定义控件的文本框的背景颜色(自定义控件名称为' tc1'文本框名称为' txtb') #39;更改'不在自定义控件中的按钮。我应该如何解决这个问题?

谢谢, Wayne Scicluna

2 个答案:

答案 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; }
}