我的程序包含一个空的TabControl。这可以由用户填充,通过操作,可以向TabControl添加我已定义的自定义UserControl的实例:
myUserControl newInstance;
newInstance = new myUserControl();
myTabControl.TabPages.Add(newInstance);
此对象myUserControl
不仅仅是一个简单的空TabPage
,而且还包含其他一些对象,例如textboxes
,comboboxes
和labels
。
例如,如何指向此新页面的第一个文本框以更改其文本?我在想这个:
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
实例中的文本框?
答案 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";