繁体   English   中英

在自定义控件中编辑控件-C#WinForms

[英]Edit controls in custom control - c# winforms

在此处输入图片说明

我试图通过单击不在自定义控件中的“更改”按钮来更改自定义控件(自​​定义控件名称为'tc1',文本框名称为'txtb')的文本框的背景颜色。 我该如何解决这个问题?

谢谢,Wayne Scicluna

选项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;

由于您正在构建用户控件,因此可以将更改文本框的颜色视为控件的功能,并可以通过添加属性将其提供给客户端。

[Browsable(true)]  // allows you to change it in the designer
public Color TextBoxBackColor
{
    get { return txtb.BackColor; }
    set { txtb.BackColor = value; }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM