1:先看测试的效果图:

2:全部的代码

 using System;
using System.Windows.Forms; namespace WindowsForms
{
public partial class ParentForm : Form
{
public void ParentGetvalue(string text)
{
this.textBox1.Text = text;
labelp.Text ="获取的值是:"+ text;
}
public Action<string> doinvokeP;
private void ParentForm_Load(object sender, EventArgs e)
{
ChildForm cf = new ChildForm(this);
doinvokeP += cf.ChildGetValue; cf.Show();
}
private void btnParent_Click(object sender, EventArgs e)
{
if (doinvokeP != null)
{
doinvokeP.Invoke(textBox1.Text);
}
} public ParentForm()
{
InitializeComponent();
}
}
}
 using System;
using System.Windows.Forms; namespace WindowsForms
{
public partial class ChildForm : Form
{
public ParentForm cpform;
public void ChildGetValue(string msg)
{
textBoxC.Text = msg;
}
public ChildForm(ParentForm cpform)
{
this.cpform = cpform;
InitializeComponent();
} private void btnChild_Click(object sender, EventArgs e)
{
if (cpform!=null)
{
this.cpform.ParentGetvalue(textBoxC.Text);
}
}
}
}

3:总结

由父到子窗体使用了委托,但是反过来由子到父,一样对应的逻辑,就是不行,后来调式打印,值都传递过去了,就是不行,浪费了一些时间!

最后发现是父窗体根本就不是同一个对象的问题,看来还是要细心才行,欢迎大家有更好的建议,谢谢!

Windows Form父子两个窗体之间的传值测试的更多相关文章

  1. android:两个应用之间怎样传值之activity

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zjh171/article/details/37738579 两个应用之间怎样传值.事实上这个标题太 ...

  2. winform两个窗体之间传值(C#委托事件实现)

    委托 定义一个委托,声明一个委托变量,然后让变量去做方法应该做的事. 委托是一个类型 事件是委托变量实现的 经典例子:两个winform窗体传值 定义两个窗体:form1和form2 form1上有一 ...

  3. QT5中两个窗体之间传递信息(值)

    一个窗体A调用另一个窗体B: 1)包含窗体B的头文件#include"B.h" 2)在窗体A中增加slots函数: public slots: void infoRecv(QStr ...

  4. js 因加入form导致两个table之间出现空白问题

    在<FORM>中加CSS <table> ....... </table> <form style="padding:0; margin:0;&qu ...

  5. WinForm - 两个窗体之间的方法调用

    方法1:   所有权法//Form1://需要有一个公共的刷新方法public   void   Refresh_Method(){ //...} //在调用Form2时,要把Form2的所有者设为F ...

  6. Winform中利用委托实现窗体之间的传值

    点击打开按扭,打开传输值窗体 public partial class Form1 : Form { public Form1() { InitializeComponent(); } public ...

  7. 使用委托实现c#,窗体与窗体之间的传值

    主界面: Form1中的代码: namespace _06委托练习_窗体传值{    public partial class Form1 : Form    {        public Form ...

  8. winform中使用委托进行窗体之间的传值

    一.传统的方式 创建一个公共数据资源类,用于存储窗体2的TextBox的值: public class ComValue { public static string Txtvalue { get; ...

  9. C#窗体之间事件传值

    //第二个窗体 public delegate void DAddress(string address);        public event DAddress ESignAddress; pr ...

随机推荐

  1. Python爬取《冰雪奇缘2》豆瓣影评

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 刘铨@CCIS Lab PS:如有需要Python学习资料的小伙伴可 ...

  2. Java生鲜电商平台-促销系统的架构设计与源码解析

    Java生鲜电商平台-促销系统的架构设计与源码解析 说明:本文重点讲解现在流行的促销方案以及源码解析,让大家对促销,纳新有一个深入的了解与学习过程. 促销系统是电商系统另外一个比较大,也是比较复杂的系 ...

  3. SAP HUMO VLMOVE不支持E库存发货到成本中心

    SAP HUMO VLMOVE不支持E库存发货到成本中心 如下HU 194810300235,里面物料的库存是E库存, 执行VLMOVE,试图将该HU整托发货到成本中心, 输入成本中心后,点击按钮'P ...

  4. crawlscrapy简单使用方法

    crawlscrapy简单使用方法 1.创建项目:scrapy startproject 项目名例如:scrapy startproject wxapp windows下,cmd进入项目路径例如d:\ ...

  5. 8.python3实用编程技巧进阶(三)

    3.1.如何实现可迭代对象和迭代器对象 #3.1 如何实现可迭代对象和迭代器对象 import requests from collections.abc import Iterable,Iterat ...

  6. Go命令行库Cobra的核心文件root.go

    因为docker及Kubernetes都在用cobra库,所以记录一下. 自定义的地方,高红标出. root.go /* Copyright © 2019 NAME HERE <EMAIL AD ...

  7. oracle并行模式

    参考链接:oracle并行模式(Parallel),深入理解Oracle的并行操作(原创),oracle使用并行踩过的坑 1. 语法(这个可以加到insert.delete.update.select ...

  8. [C4W2] Convolutional Neural Networks - Deep convolutional models: case studies

    第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) 为什么要进行实例探究?(Why look at case studies?) 这周我们 ...

  9. angular 运行报错

    angular 运行时报错ERROR in node_modules/rxjs/internal/types.d.ts(81,44): error TS1005: ';' expected. node ...

  10. Python str & repr

    Python str & repr repr 更多是用来配合 eval 的 (<- 点击查看),str 更多是用来转换成字符串格式的 str() & repr() str() 和 ...