从子窗体访问父窗体上的控件
我想从子窗体更改父窗体上的文本框中的文本。 我设置了文本框
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强制转换为父表单的类型。