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)

相关推荐

  • C#实现读取DataSet数据并显示在ListView控件中的方法

    本文实例讲述了C#实现读取DataSet数据并显示在ListView控件中的方法.分享给大家供大家参考.具体如下: /*lvStudentList为ListView控件名 */ DataSet ds = new DataSet(); ds = student.QueryStudents(); //查询表的信息 int rowCount, columnCount,i,j; rowCount = ds.Tables[0].Rows.Count; columnCount = ds.Tables[0].

  • C#实现用户自定义控件中嵌入自己的图标

    本文实例讲述了C#实现用户自定义控件中嵌入自己的图标.分享给大家供大家参考,具体如下: 下面给出一下具体的步骤. 1. 新建一个用户控件 2. 向资源文件是添加一张图片,图片格式可以是bm,ico 大小最好是 16 * 16 啦! 3. 选中用户控件图标,单击"右键>属性"把 "生成操作 的属性值改为:嵌入的资源(Action Resource) 4. 第四步: [ToolboxBitmap(typeof(CutPitureNew_WPF), "CutPitu

  • C#实现DataGridView控件行列互换的方法

    本文实例讲述了C#实现DataGridView控件行列互换的方法.分享给大家供大家参考.具体如下: 该示例程序是一个Windows窗体应用程序,有左右两个DataGridView控件:dgvLeft和dgvRight dgvRight除时间外的每一行是dgvLeft的一列 private void Form1_Load(object sender, EventArgs e) { //C#中确定控件DataGridView根据内容自动调整列宽长度的属性 //是AutoSizeColumnsMode

  • C#多线程与跨线程访问界面控件的方法

    本文实例讲述了C#多线程与跨线程访问界面控件的方法.分享给大家供大家参考.具体分析如下: 在编写WinForm访问WebService时,常会遇到因为网络延迟造成界面卡死的现象.启用新线程去访问WebService是一个可行的方法. 典型的,有下面的启动新线程示例: 复制代码 代码如下: private void LoadRemoteAppVersion()  {      if (FileName.Text.Trim() == "") return;      StatusLabel

  • C#实现多选项卡的浏览器控件

    本文详细为大家分享了C#多选项卡的浏览器控件的设计与实现,供大家参考,具体内容如下 1.  为什么我们需要多选项卡的浏览器控件 项目中需要使用WinForm应用程序来包装BS应用程序的浏览器外壳,在.NET的WebBrowser中没有多选项卡浏览的自带配置属性,我们需要实现多选项卡的浏览器控件来实现包装BS应用程序的目的,而不会弹出IE浏览器窗口. 2. 我们需要了解哪些知识点 2.1.     WebBrowser控件 WebBrowser 控件为 WebBrowser ActiveX 控件提

  • C#后台创建控件并获取值的方法

    本文实例讲述了C#后台创建控件并获取值的方法.分享给大家供大家参考.具体实现方法如下: 前台代码: 复制代码 代码如下: <form id="form1" runat="server">     <div>         <div class="item">             Please input a number:             <asp:TextBox runat="s

  • C#日期控件datetimepicker保存空值的三种方法

    方法一(推荐): 设置datetimepicker的属性ShowCheckBox为true 在窗口初始化时候,添加代码this.datetimepicker1.Checked = false; 保存日期值入库的时候,就可以根据if(this.datetimepicker1.Checked ==false),保存空值. 方法二: 在窗口初始化函数中添加: 复制代码 代码如下: this.dateTimePicker1.Format=DateTimePickerFormat.Custom; this

  • C#实现简单的loading提示控件实例代码

    自己画一个转圈圈的控件 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Drawing.Drawing2D; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows

  • C#使用Aspose.Cells控件读取Excel

    Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的功能,读取Excel的数据并导入到Dataset或数据库中.读取Excel表格数据的代码如下: 首先要引入命名空间:using Aspose.Cells; 复制代码 代码如下: Workbook workbook = new Workbook(); workbook.Open("C:\\test.x

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

    今天在做一个联系人管理的C#设计时,遇到了这个问题,我需要将父窗体中的textBox中的值传到子窗体并进行数据库查询操作,我用了new 父窗体().textBox.text;来进行值传递,然而并无卵用,经过多次试验,找到了一个比较简单的解决方法: 一.子窗体调用父窗体的静态变量 父窗体:Logout 子窗体:Affirm 父窗体文本框:tB_Logout_Username public partial class Logout : Form { //定义一个静态变量存放父窗体中的文本框的值 pu

  • WinForm自定义函数FindControl实现按名称查找控件

    本文所述实例实现WinForm自定义函数FindControl实现按名称查找控件的功能,在C#程序开发中有一定的实用价值.分享给大家供大家参考. 关键代码如下: /// <summary> /// 按名称查找控件 /// </summary> /// <param name="parentControl">查找控件的父容器控件</param> /// <param name="findCtrlName">查

  • Winform项目中TextBox控件DataBindings属性

    DataBindings属性是很多控件都有的属性,作用有2方面.一方面是用于与数据库的数据进行绑定,进行数据显示.另一方面用于与控件或类的对象进行数据绑定.这里主要关注后者.主要用法是将某个对象的某个属性与指定对象的指定属性进行关联. Label.TextBox等都包含DataBindings属性,其类型为ControlBindingsCollection,是Binding类的集合.Binding类代表某对象属性值和某控件属性值之间的简单绑定.如可以将TextBox的Text属性值绑定到Labe

  • WinForm子窗体访问父窗体控件的实现方法

    Form1主窗体: 复制代码 代码如下: public delegate void SetVisiableHandler();//定义委托类型 private void button1_Click(object sender,EventArgs e)//单击事件,打开子窗体{    Form2 frm = new Form2(new SetVisiableHandler(SetVisiable));    frm.Show();} private void SetVisiable(){    d

  • 关闭子页面刷新父页面中部分控件数据的方法

    Father 1.新建一个按钮 复制代码 代码如下: <asp:Button ID="btnFresh" runat="server" Text="" OnClick="btnFresh_Click" /> 2.JS 复制代码 代码如下: <script type="text/javascript"> function btnFreshData() { document.getEle

  • WinForm遍历窗体所有子控件的方法

    本文实例讲述了WinForm遍历窗体所有子控件的方法.分享给大家供大家参考,具体如下: /// <summary> /// C# 只遍历控件子控件,不遍历孙控件 ///当控件有子控件时,需要用递归的方法遍历,才能全部列出控件上的控件 /// </summary> /// <typeparam name="T">控件类型</typeparam> /// <param name="control">要遍历的控件

  • Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)

    有时候因为布局问题,需要子组件 把数据 传给父组件,并执行父级的某个方法,不多说上代码: 子组件: <template> <div class="isShowing" ref="isShowing"> <div class="menu-wrapper" ref="scroll_warpper" v-show="!hid_show_switch"> <ul ref=&

  • VUEJS 2.0 子组件访问/调用父组件的实例

    有时候因为布局问题,需要子组件 把数据 传给父组件,并执行父级的某个方法,不多说上代码: 子组件: <template> <div class="isShowing" ref="isShowing"> <div class="menu-wrapper" ref="scroll_warpper" v-show="!hid_show_switch"> <ul ref=&

  • C#中父窗口和子窗口之间控件互操作实例

    本文实例讲述了C#中父窗口和子窗口之间控件互操作的方法.分享给大家供大家参考.具体分析如下: 很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件.相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可. 下面重点介绍前一种,目前常见的有两种方法,基本上大同小异: 第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如: 复制代码 代码如下: public static yourMainWindow pCurrentWin =

  • jquery获取div距离窗口和父级dv的距离示例

    jquery中jquery.offset().top / left用于获取div距离窗口的距离,jquery.position().top / left 用于获取距离父级div的距离(必须是绝对定位的div). (1)先介绍jquery.offset().top / left css: 复制代码 代码如下: *{ margin: 0px; padding: 0px; } div{ margin: 0px auto; } .a{ width: 960px; height: 200px; } .pa

随机推荐