软件编程
位置:首页>> 软件编程>> C#编程>> C# Winform 子窗体访问父级窗体的控件和属性

C# Winform 子窗体访问父级窗体的控件和属性

作者:xch_yang  发布时间:2022-08-15 04:37:06 

标签:C#,Winform,子窗体,父窗体

今天在做一个联系人管理的C#设计时,遇到了这个问题,我需要将父窗体中的textBox中的值传到子窗体并进行数据库查询操作,我用了new 父窗体().textBox.text;来进行值传递,然而并无卵用,经过多次试验,找到了一个比较简单的解决方法:

一、子窗体调用父窗体的静态变量

父窗体:Logout

子窗体:Affirm

父窗体文本框:tB_Logout_Username


public partial class Logout : Form
{

//定义一个静态变量存放父窗体中的文本框的值

public static string tB_LogoutName;

//实例化子窗体的事件

private void btt_Logout_Click(object sender, EventArgs e)
 {

//获取父窗体中的文本框的值

tB_LogoutName = tB_Logout_Username.Text;
   Affirm aff = new Affirm();
   aff.Show();

}

}

接下来要在子窗体中调用就可以直接:父窗体.变量

即:Logout.tB_LogoutName

这个方法显得比较取巧,按理说应该先找到获取父窗体的方法,然后再对其进行操作。

二、将父窗体作为属性传递给子窗体

在你的子窗体中定义public 的父窗体字段,如:


public class Affirm:Form
{
 public Logout MyLogout;
}

然后在父窗体设置其值即可,如:


public partial class Logout : Form
{

//定义一个静态变量存放父窗体中的文本框的值

public static string tB_LogoutName;

//实例化子窗体的事件

private void btt_Logout_Click(object sender, EventArgs e)
 {

//获取父窗体中的文本框的值

//tB_LogoutName = tB_Logout_Username.Text;
   Affirm aff = new Affirm();
   aff.MyLogout=this;
   aff.Show();

}

}

这样,父窗体中公开的成员你都可以在子窗体中访问,使用。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com