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. 齐普夫-Zipf定律

    python机器学习-乳腺癌细胞挖掘(博主亲自录制视频)https://study.163.com/course/introduction.htm?courseId=1005269003&ut ...

  2. awk 分组求和

    awk 分组求和 分组求和 awk '{s[substr($2,1,6)] += $1} END{for(i in s) {print i, s[i]/(1024*1024*1024)} }' fil ...

  3. 新导入的项目目录结构不对(main目录)

    Eclipse导入一个maven项目,碰到一个这样的错误:项目的包路径编程了main.java开头的,而java代码中的pakge却是com开头的,如图. 导致项目编译不通过 错误提示: 解决办法: ...

  4. Turbine Netflix

    Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况. 本实例是在consul做为服务发现时的配置. Turbine聚合器: 可以参照:https:// ...

  5. Java 泛型,你了解类型擦除吗?

    泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘与神奇.泛型是 Java 中一个很小巧的概念,但 ...

  6. avast关闭DeepScreen

    在“设置”-“防病毒”-去掉“启用 DeepScreen”.

  7. MySQL学习-MySQL内置功能_事务操作

    1.事务详解 1.1 事务的概念 MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等 ...

  8. 5分钟了解OWL本体建模语言

    一.概念: 定义:一种定义和实例化web本体的语言   本体:与xml schema不同,是知识表示,而不是一种消息格式   优点:可以推理   开放世界的假设:本体信息只增加,可以存在矛盾冲突的事实 ...

  9. 【VS开发】这就是COM组件

    [实例]这就是COM组件 时间 2012-02-21 10:49:15  CSDN博客 原文  http://blog.csdn.net/btwsmile/article/details/727849 ...

  10. pandas - parse-date

    1.pd.read_csv()函数中parse_dates()参数 boolean. True -> 解析索引 boolean. If True -> try parsing the in ...