C#中子窗体获取父窗体中控件的内容

今天在做一个联系人管理的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

总结:这个方法显得比较取巧,按理说应该先找到获取父窗体的方法,然后再对其进行操作,在此仅供借鉴,希望对同样出现此问题的你有所帮助,也欢迎大神们给出更好的方法。

时间: 2024-10-13 20:59:09

C#中子窗体获取父窗体中控件的内容的相关文章

C# MDI 子窗体被父窗体控件挡住

最近在做一个小工具,发现了一个过去做项目没有遇到的问题:子窗体被父窗体的控件给挡住了! 如下图所示: 子窗体的TopMost 已经设为true,父窗体的控件已经置于底层,但是结果还是很悲观!无奈之下,谷歌了一下,尝试了很多种方法,结果找到了一种最简单的解决问题方案,代码如下: using System.Runtime.InteropServices; // 导入名称空间 [DllImport("user32")] public static extern int SetParent(i

JS加载获取父窗体传递的参数

JS加载获取父窗体传递的参数 $(document).ready(function () { var query = location.search.substring(1); var values = query.split("&"); for (var i = 0; i < values.length; i++) { var pos = values[i].indexOf('='); if (pos == -1) continue; var paramname = v

子窗体、父窗体方法互调

var childWindow = $("#editFrame")[0].contentWindow;//获取子窗体的window对象. childWindow.subForm(); $("#editFrame")得到frame [0].contentWindow//frame的子窗体,将JQUERY对象转化为DOM对象 subForm();//字窗体定义的方法 ----------------------------------------------------

Winfrom子窗体刷新父窗体

本人比较懒,直接从网上转载了一篇比较合适的文章,只是文章格式有点乱,地址是 http://aspnet.blog.163.com/blog/static/17515510920121126104433237/ 调用窗体(父):Form1,被调用窗体(子):Form2 方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为Form1Form2   f2   =

MFC获得主窗体和父窗体指针

MFC编程中经常遇到子窗体向父窗体传递參数的情况,这就须要获得父窗体的指针. 例:主对话框CMyMainDlg通过buttonButtonA进入对话框CMyParentDlg.CMyParentDlg在通过buttonButtonB进入对话框CMyChildDlg.如今须要在CMyChildDlg分别訪问CMyParentDlg和CMyMainDlg的内容.须要在CMyChildDlg中增加下面两条语句: CMyMainDlg    *pMMD = (CMyMainDlg*)AfxGetMain

Winform子窗体刷新父窗体

调用窗体(父):Form1,被调用窗体(子):Form2方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){//...}//在调用Form2时,要把Form2的所有者设为Form1Form2   f2   =   new   Form2()   ;f2.Owner   =   this;f2.ShowDialog()   ;//Form2://在需要对其调用者(父)刷新时Form1   f1   ;f1   =  

WinForm 子窗体在父窗体范围内移动,不能出父窗体 摘自于网络

详细解释:1, 主窗体Form1属性IsMdiContainer设为True,并添加ToolStrip控件, Toolstrip中添加一个按钮toolStripButton1.         2,添加新窗体Form2.           3,主窗体Form1中toolStripButton1的Click事件           private void toolStripButton1_Click(object sender, EventArgs e)         {          

子窗体和父窗体双向传值——C#窗体传值方法总结

简介 在很多场景下,我们的程序需要完成窗体间的传值功能,有时候是父窗体→子窗体单向传值.子窗体→父窗体传值甚至是,也有时候我们需要父窗体?子窗体双向传值. 在本文中主要介绍一些能够实现双向传值的方法,能够双向传值的方法也能够实现单向传值. 本文的所有源码都可以在GitHub上下载. 本文介绍的方法仅限于我自己知道并且实现过的,我相信还有很多我并不知道的方法,因此也许在很多朋友眼中本文的内容是浅显甚至可笑的,希望路过的各方朋友不吝赐教,我也希望不断地进步! 方法1:Public字段+ShowDia

.Net子窗体给父窗体传值的几种方法

其实方法有很多种,这里只介绍3种,大家如有更好的方法可互相学习学习. 1.子父窗体Owner设定法: Form1: void Button_fm1_Click(object sender, EventArgs e) { Form2 fm2 = new Form2(); fm2.Owner = this;   //将Form2的Owner指针指向Form1 fm2.ShowDialog(); } Form2: void Button_fm2_Click(object sender, EventAr