从子窗体访问父窗体上的控件

我想从子窗体更改父窗体上的文本框中的文本。 我设置了文本框

modifiers = public我在parentform中有额外的函数

public TextBox txtbox { get { return mybox; } set { mybox= value; } } 

以儿童forms写这个.ParentForm。 (看不到mybox)。 我错过了什么。 问候,

由于ParentForm将返回一个Form而不是您的表单,因此您需要先进行转换,然后才能访问任何自定义属性:

 ((MyForm)this.ParentForm).textbox = "new text!"; 

此外,您正在设置整个控件,而不仅仅是文本。

试试这个,只显示text属性:

 public string txtbox { get { return mybox.Text; } set { mybox.Text = value; } } 

我认为问题是ParentForm是Form类型,它没有成员txtbox。 你需要将ParentForm强制转换为你的表单(假设它是Form1),如:

 ((Form1)this.ParentForm).txtbox 

随机猜测没有看到任何实际代码: mybox可能不会被公开。

编辑:或者啊,是的,正如安德烈所说 – 你没有将ParentForm强制转换为父表单的类型。