指向UserControl实例的对象

时间:2014-10-12 14:23:11

标签: c# winforms

我的程序包含一个空的TabControl。这可以由用户填充,通过操作,可以向TabControl添加我已定义的自定义UserControl的实例:

myUserControl newInstance;
newInstance = new myUserControl();
myTabControl.TabPages.Add(newInstance);

此对象myUserControl不仅仅是一个简单的空TabPage,而且还包含其他一些对象,例如textboxescomboboxeslabels

例如,如何指向此新页面的第一个文本框以更改其文本?我在想这个:

myTabControl.SelectedTab.textbox1.Text = "change the text";

但是它不起作用,我因为以下错误而无法编译(我非常理解):

'System.Windows.Forms.TabPage' does not contain a definition for 'textbox1' and no extension method 'textbox1' accepting a first argument of type 'System.Windows.Forms.TabPage' could be found (are you missing a using directive or an assembly reference?)

如何指向应添加到myUserControl实例中的文本框?

1 个答案:

答案 0 :(得分:0)

您可以使用实例或事件来执行此操作。这是一个实例的例子。

public partial class myUserControl : UserControl
{
public static myUserControl Instance {get; set;}

public myUserControl()
{
    InitializeComponent();
    Instance = this;
}

public string textBoxText
{
    get { return textbox1.text; }
    set { textbox1.text = value; }
}

}

以这种方式设置texbox文本。

   myUserControl.Instance.textBoxText="your text";