1.父窗体传值给子窗体:

1)

父窗体:

  FrmXX frm = new FrmXX(,);
frm.Owner = this;
frm.ShowDialog();

子窗体:

    int type, index = ;
public FrmXX(int ty,int ind)
{
InitializeComponent();
type = ty;
index = ind;
}

2)适用于多个父窗体调用一个子窗体

父窗体:

            FrmXX frm = new FrmXX();
frm.data = sum;
frm.id = id;
frm.ShowDialog();

子窗体:

    public string data { get; set; }
public string id { get; set; } private void FrmXX_Load(object sender, EventArgs e)
{
}
}

数据更新:

    private void Renovate()
{
FrmXX frm = new FrmXX();
frm = (FrmXX)this.Owner;
frm.BindDgv(); //BindDgv是父窗体绑定dgv中的数据,
}
  private void btnSearch_Click(object sender, EventArgs e)

               ...数据增删改代码
if (res.Success) {
Renovate();
this.Close();
}
else
{
Utility.Error("添加失败:" + res.ErrMsg);
}

2.子窗体传值给父窗体

1)父窗体:

  private void pb_wharehouse_Click(object sender, EventArgs e)
{
Frm仓库查询 frm = new Frm仓库查询();
frm.P_Value+= frm_E_Value;
frm.ShowDialog();
}
void frm_E_Value(string value)
{
txt_wharehouse.Text = value; //从子窗体传过来的值
}

子窗体:

   public delegate void T_Value(String value);
public event T_Value E_Value;
private void btn_selected_Click(object sender, EventArgs e)
{
E_Value(this.txt_lx.Text);
this.Close(); 8 }

2)父窗体:

             FrmXX f = new FrmXX();
if (f.ShowDialog() == DialogResult.OK)
{
string s=f.value;//f.value是从子窗体获取的值
}

子窗体:

  public static string value;//全局变量
private void btnSelects_Click(object sender, EventArgs e)
{
value= txtvalue.Text;
this.close();
}

c# winform 窗体间的传值的更多相关文章

  1. WinForm窗体间如何传值

    窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 公共静态变量: 使用共有属性: 使用委托与事件: 通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点:传值是双 ...

  2. WinForm窗体间如何传值的几种方法

    (转) 窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 公共静态变量: 使用共有属性: 使用委托与事件: 通过构造函数把主窗体传递到从窗体中: 一.通过静态变量 特点: ...

  3. c# winform窗体间的传值

    说明:本文讲解两个窗体之间的传值,主要用到两个窗体,form1,form2 1.在form1窗体单击按钮,打开窗体form2,然后把form2中文本框的值传递给form1 form1中的代码: usi ...

  4. C# winform窗体间传值(使用委托或事件)

    窗体间传值 今天得空,刚好看到网上好多人再找winform窗体间传值的问题,由于昨天项目的优化的感觉不错,就写了个C# winform窗体间传值的demo,希望能给需要的人的带来帮助: 工程的源代码地 ...

  5. 小例子(二)、winform窗体间的关系

    写一个关于winform窗体间的关系 1.登陆,思路:登陆后隐藏登陆窗体,关闭Form2时结束整个应用程序. //登陆窗体 private void button2_Click(object send ...

  6. .NET开发之窗体间的传值转化操作

    DOTNET开发之窗体间的传值转化操作 好想把自己最近学到的知识写下来和各位朋友分享,也希望得到大神的指点.今天终于知道自己要写点什么,就是关于WPF开发时简单的界面传值与简单操作. 涉及两个界面:一 ...

  7. winform 窗体间传值

    WinForm 两窗体之间传值实例 2010-12-27 22:10:11|  分类: 学业|举报|字号 订阅     下载LOFTER我的照片书  |     窗体Form1和Form2 Form2 ...

  8. winform窗体间利用委托传值(一)

    前台:在winform窗体Form1放入pictureBox1 后台代码: namespace 点击小图变成大图 { public delegate void ClickDelegateHander( ...

  9. WinForm 窗体间传递数据

    前言 做项目的时候,winfrom因为没有B/S的缓存机制,窗体间传递数据没有B/S页面传递数据那么方便,今天我们就说下winfrom中窗体传值的几种方式. 共有字段传递 共有字段传递实现起来很方便, ...

随机推荐

  1. IntelliJ IDEA-配置文件位置

    关于配置文件的位置 一旦开始使用IDEA之后,就需要做很多的配置相关工作,使得IDEA越来越符合你的个人习惯,让你使用起来得心应手.而这些配置信息,都保存在C盘,比如我的就会默认保存在如图所示的位置 ...

  2. Linux Centos安装宝塔面板教程

    材料:阿里云服务器远程ip地址和购买服务的账号和密码 版本Centos 6.9版本 用Xshell远程登录安装宝塔 Xshell的界面是这样的,如图 点击左上角新建回话可以创建一个新的SSH连接,如图 ...

  3. ajax修改表单的值后dom没更新的解决办法

    添加一个扩展方法,通过$("#id").html($("#id").formhtml())更改. 扩展方法: (function ($) { var oldHT ...

  4. ubuntu16.04下如何安装dtc工具?

    答: sudo apt-get install device-tree-compiler -y

  5. 九十九:CMS系统之ajax提交修改密码的数据

    顺便实现ajax提交的时候默认提交csrf_token var http = { 'get':function (args) { args['method'] = 'get'; this.ajax(a ...

  6. C++之ListNode

    单链表,弄清楚可stl中list的区别 ListNode的结构 struct ListNode { int val; //当前结点的值 ListNode *next; //指向下一个结点的指针 Lis ...

  7. Ubuntu开放指定端口

    一般情况下,ubuntu安装好的时候,iptables会被安装上,如果没有的话那就安装上吧 安装 在终端输入 sudo apt-get install iptables 添加规则 在终端输入 ipta ...

  8. excel怎么设置密码保护?Excel文件添加密码保护教程

    excel怎么设置密码保护?Excel文件添加密码保护教程 众所周知,Excel具有强大的数据处理和数据分析能力,广泛应用于加工学统计及金融统计中.特别是金融统计需要较高的安全性,那么就一定要为Exc ...

  9. c++空类为什么占用1个字符

    在C++中空类会占一个字节,这是为了让对象的实例能够相互区别.具体来说,空类同样可以被实例化,并且每个实例在内存中都有独一无二的地址,因此,编译器会给空类隐含加上一个字节,这样空类实例化之后就会拥有独 ...

  10. 数位dp作业

    dp东西实在太多,昨天开了个树形dp入门,还没入呢,今天就要写数位dp,也不知道这种学习状态对不对啊? A - 不要62 题意: 输入n到m内,符合条件的数的个数.条件:不含62和4. 这里直接学习q ...