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();
}
}
这样,父窗体中公开的成员你都可以在子窗体中访问,使用。


猜你喜欢
- 前言前两篇我们详细了解了 findById 和 findAll 以及 findAll 的分页查询,如果说JPA只有上面的两种查询功能,那就太
- 前言之前在SpringBoot项目中简单使用定时任务,不过由于要借助cron表达式且都提前定义好放在配置文件里,不能在项目运行中动态修改任务
- 一、业务说明对应APP业务中的成员有两类,一是服务人员,二是被服务人员, 主要实现功能, 对APP中的服务人员位置进行时时定位, 然后通过被
- 一、问题最近在做代码重构,代码工程采用了Controller/Service/Dao分层架构,Dao层使用了Mybatis-Plus框架。在
- Exception e中e的getMessage()和toString()方法的区别:示例代码1:public class TestInfo
- HTTP请求:如果需要Json格式的自己转下,度娘上N种姿势…//处理http请求 requestUrl为请求地址 requestMetho
- 一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中I
- 前言我们来分析一下堆内布局以及Java对象在内存中的布局吧。对象的指向先来看一段代码:package com.zwx.jvm;public
- 前言现在不少应用都是采用了混合开发模式,不论是原生加RN,或是原生加Flutter,或是原生加H5。原生实现主业务线,其他部分可以借助跨平台
- 在一次源码查看ThreadGroup的时候,看到一段代码,为以下:/* * @throws NullPointer
- 实例如下所示:public class JsonExtracter { public static void main(String[] a
- 这几天面试中有遇到关于main数组中的args数组传值的问题,一般是从命令提示符中传值,也可以直接在java代码中赋值。而且这个数组的长度是
- 什么原因使我们不得不使用线程池?个人认为主要原因是:短时间内需要处理的任务数量很多使用线程池的好处:1.减少在创建和销毁线程上所花的时间以及
- 上一节我们完成了使用DataGrid显示所有商品信息,这节我们开始添加几个功能:添加、更新、删除和查询。首先我们实现下前台的显示,然后再做后
- java字段值为null,不返回该字段类上打注解@JsonSerialize(include = JsonSerialize.Inclusi
- 详细描述maven中央仓库发布jar包的中间过程, 以及遇到的一些问题汇总, 尽量用文字描述清楚, 耐心看下去, 就一定会发布成功----S
- 在使用JDBC的时候,数据库据连接是非常宝贵的资源。为了复用这些资源,可以将连接保存在一个队列中。当需要的时候可以从队列中取出未使用的连接。
- 1,现在因为遇到一个读取pdf文件文本信息遇到乱么问题,才找到这个文本字符串的编码转换的实现方式来判断是否存在乱码(0>乱码>2
- 代码入下:import java.io.*; public class Practice { publ
- 本文实例讲述了C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法,在项目开发中有一定的实用价值,具体方法如下:一、前言