关于c#中子窗口调用父窗口中控件内容的问题

例如做一个记事本的查找功能,点击查找会弹出一个查找的窗口。点击查找窗口中的查找按钮,应该在这个按钮的click事件中调用主窗口的textbox中的内容并操作主窗口textbox的内容。怎么实现???急求!!!!

首先你在Form2里面创建一个公开Form1的对象,然后在Form2里面写一个窗体加载事件,下面是代码:
public Form1 form1;//这是创建的对象
private void Form2_Load(object sender, EventArgs e)//窗体加载事件
{
txt_Two.Text = form1.txt_One.Text;//这里是把窗体Form1的textBox1的值给Form2的textBox1
}
Form2的设置搞定,
然后把Form1的textBox1公开一下,在属性里面设置,属性叫Modifiers-->设置为public, 然后有一个按钮打开Form2,事件为:
private void button1_Click(object sender, EventArgs e)
{
Form2 form2 = new Form2();
form2.form1 = this;//这里就是把当前窗口的所有东西传递过去。 楼下的兄弟说的窗口间数据传递。就是这里拉。
form2.Show();
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-04
这种做法一般是通过属性来实现的,将窗体对象引用传递给查找窗口,然后操作之
第2个回答  2019-04-10
构造函数吧。子窗口设置全局变量将父窗口传入的值赋给它。也可以直接父窗口的控件modifiers属性设为public直接调用的。(前提传过去的是父窗口对象)
第3个回答  2013-07-04
有个简单的方法:(1)先把你要Modifiers的值设置为public;(2)再在子窗体中声明public static Form1 form1 = null;(父窗体为Form1),这样就可以通过Form1.form1.label1.Text =""(以控件label1为例) 来为你想改变的控件的属性值了;

C#问题,关于用子窗口改父窗口控件
Owner:该属性表示拥有此窗体的窗体。如f1打开的f2,则f2.Owner实际指向的就是f1,所以按钮中写f2.Owner可以指向f1窗体,如果你把label1公开的话,可以直接写f2.Owner.label1.text = this.textbox1.value;即可实现你的要求。如果在属性中指定的父窗体的情况,f2.ParentForm也可以指向父窗体。拥有窗体...

c#把现打开的子窗口标题加入到父窗口菜单栏问题!
\/\/\/ 关闭的窗体对象 public void ChildClosed(Form F){ foreach (ToolStripMenuItem it in 窗口ToolStripMenuItem.DropDownItems){ if(it.Tag.Equals(F))窗口ToolStripMenuItem.DropDownItems.Remove(it);} } \/\/\/ \/\/\/ 比如点击打开窗口按钮,打开多个窗口,请实现如下代码 \/\/\/ \/\/\/ \/\/\/...

C#窗体继承后,如何在子类窗体中修改父窗体中控件的事件?
你需要将父窗体的引用传到子窗体中,比如重载MergeForm2的构造函数,添加一个MergeForm1的参数,然后将子窗体的MergeForm1类变量指向这个引用。更改后MergeForm2部分代码如下:public partial class MergeForm2 : Form { \/\/声明一个MergeForm1引用 MergeForm1 Parent;...\/\/重载构造函数 public MergeForm...

C#里面,子窗口关闭以后,刷新一个父窗口的控件的属性,怎么办
注册子窗口的FormClosed事件。处理就可以了。private Form childForm;public ParentForm(){ childForm.FormClosed+=new FormClosedEventHandler(childForm_FormClosed);} protect void childForm_FormClosed(object sender,FormClosedEventArgs e){ \/\/这里刷新状态信息。。} ...

c#父子窗口问题
这个很简单的。首先。指明了窗体A为父窗体的话,那么如何将窗体B设置A的子窗体呢。也就说使AB有父子窗体的关系 这个就要在显示B窗体时写代码了。显示B窗体的代码如下:(这段代码肯定是写在A中的)(当然前提还是把A中的isMdicontainer改成ture)FormB formb = new FormB();formb.MdiParent = ...

C#如何利用子窗体调用父窗体的属性?
哦,窗体之间的访问啊。简单。\/\/子窗体里面写 private FrmMain f;\/\/到时传过来的父窗口 public FrmChild(FrmMain f){ this.f = f;f.Enable = true;\/\/这儿就可以改变了。} \/\/单击父窗口的按钮时 FrmChild f = new FrmChild();f.Show(this);\/\/把窗体传过去 http:\/\/zhidao.baidu.com\/...

C# 父窗口(form1)与子窗口(form2)的问题
两种方法,第一种如楼上所说,用ShowDialog(),此时打开的是模态窗体,也就是在你关闭它之前其他任何窗体都无法使用。第二种是使用Form的enable属性 在form1的按钮事件中加入代码:Form2 frm = new Form2();frm.Owner = this;frm.Show();this.Enabled = false;在form2中重写关闭事件:protected ...

C#中父子窗口的问题
将父窗体的 IsMidContainer 设为true 然后往父窗体里 添加 toolStrip1 控件 单击toolStrip1添加一个控件(button,lable 都可以.)然后在这个控件的事件里面引用子窗体 \/\/显示子窗体,参数为子窗体实例。private void ShowMdiChild(Form childForm){ childForm.MdiParent = this;childForm.Show();} \/...

C#子窗体关闭时怎么使父窗口中的控件也随之改变。
子窗体定义一个委托,父窗体实例化子窗体时注册子窗体的委托事件(具体方法实现父窗口的控件变化),子窗体关闭时调用事件方法。

在C#中怎么样才能把父窗体中的值传给子窗体?
在子窗口的类中的构造函数里定义参数就行了,实例化子窗口的时候,把参数传递过去就行了哈。

相似回答