- 浏览: 529737 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (230)
- java (87)
- c/c++/c# (39)
- ASP.net MVC (4)
- eclipse/visual studio (3)
- tomcat/weblogic/jetty (13)
- linux/unix/windows (20)
- html/javascript/jquery/kendo/bootstrap/layui/vue/react (31)
- hibernate/struts/spring/mybatis/springboot (21)
- lucene/solr/ELK (2)
- shiro (0)
- oracle/sqlserver/mysql/postgresql (23)
- shell/python/ruby (6)
- android (0)
- maven/ant (1)
- freemarker/thymeleaf/velocity (1)
- open source project (41)
- cache/memcached/redis (0)
- nosql/hadoop/hbase/mongodb (0)
- system architecture/dubbo/zookeeper (0)
- software testing (0)
- system optimization (0)
- system security (0)
- tcp/udp/http (2)
- roller/wordpress (2)
- 工具收藏 (8)
- 文摘 (4)
- 生活 (0)
最新评论
-
coconut_zhang:
这个demo 非常完整了,是指下面说的那个html 模版,模版 ...
flying sauser, thymeleaf实现PDF文件下载 -
a93456:
你好,你有完整的demo吗? String template这 ...
flying sauser, thymeleaf实现PDF文件下载 -
yujiaao:
fn 函数循环是没有必要的啊,可以改成
protecte ...
Java 笛卡尔积算法的简单实现 -
安静听歌:
设置了.setUseTemporaryFileDuringWr ...
使用jxl导出大数据量EXCEL时内存溢出的解决办法 -
q280499693:
写的很详细,但是我现在想知道他们是怎么定位log4j.prop ...
关于SLF4J结合Log4j使用时日志输出与指定的log4j.properties不同
窗体传值可以分为两类。
1、主窗体往子窗体传值
有两种方法,一种是在子窗体提供重载构造函数,利用重载构造函数传递值,适用于传值数量比较少;第二种是,在子窗体中定义一个主窗体对象,然后就可以接收到主窗体的属性值了,适用于传值数量大。
主窗体代码如下: public partial class frmParent : Form
{
private string strValueA = "";
public string StrValueA
{
get
{
return this.strValueA;
}
set { this.strValueA = value; }
}
public frmParent()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.strValueA = textBox1.Text;
frmChild frmchild = new frmChild();
frmchild.Owner = this;
frmchild.ShowDialog();
frmchild.Dispose();
}
private void button2_Click(object sender, EventArgs e)
{
frmChild frmchild = new frmChild(this.textBox1.Text);
string returnValue = "";
if (frmchild.ShowDialog() == DialogResult.OK)
{
returnValue = frmchild.Str;
this.textBox1.Text = returnValue;
}
}
}子窗体代码如下:
public partial class frmChild : Form
{
private string str;
public string Str
{
get { return this.str; }
set { this.str = value; }
}
private frmParent frmparent;
public frmChild()
{
InitializeComponent();
}
public frmChild(string str)
{
this.str = str;
InitializeComponent();
this.textBox1.Text = str;
}
private void frmChild_Load(object sender, EventArgs e)
{
frmparent = (frmParent)this.Owner;
//this.textBox1.Text = frmparent.StrValueA;
}
private void button1_Click(object sender, EventArgs e)
{
//frmparent = (frmParent)this.Owner;
this.Str = this.textBox1.Text;
this.DialogResult = DialogResult.OK;
this.Close();
}
}
2、从子窗体返回值到主窗体中
利用了子窗体的属性保存子窗体的值,在主窗体中可以访问到子窗体的属性
主窗体代码如下: public partial class frmParent : Form
{
private string strValueA = "";
public string StrValueA
{
get
{
return this.strValueA;
}
set { this.strValueA = value; }
}
public frmParent()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
frmChild frmchild = new frmChild(this.textBox1.Text);
string returnValue = "";
if (frmchild.ShowDialog() == DialogResult.OK)
{
returnValue = frmchild.Str;
this.textBox1.Text = returnValue;
}
}
}子窗体代码如下:
public partial class frmChild : Form
{
private string str;
public string Str
{
get { return this.str; }
set { this.str = value; }
}
private frmParent frmparent;
public frmChild()
{
InitializeComponent();
}
private void frmChild_Load(object sender, EventArgs e)
{
frmparent = (frmParent)this.Owner;
//this.textBox1.Text = frmparent.StrValueA;
}
private void button1_Click(object sender, EventArgs e)
{
//frmparent = (frmParent)this.Owner;
this.Str = this.textBox1.Text;
this.DialogResult = DialogResult.OK;
this.Close();
}
}
3.利用委托和事件
public partial class Form1 : Form
{
private void GetReturnValue(string text)
{
textBox1.Text=text;
}
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 frm=new Form2(textBox1.Text);
frm.ReturnValue=GetReturnValue;
frm.Show();
}
}
public partial class Form2 : Form
{
public delegate void returnValue(string text);
public returnValue ReturnValue;
public Form2()
{
InitializeComponent();
}
public Form2(string text)
: this()
{
textBox1.Text=text;
}
private void button1_Click(object sender, EventArgs e)
{
if (ReturnValue != null)
{
ReturnValue(textBox1.Text);
}
Close();
}
}
发表评论
-
CMPP短信网关客户端发送程序
2010-04-06 11:12 4706最近无聊,玩了玩ubuntu ... -
C#编程中的预处理指令
2010-01-13 11:22 1392在C#中, 虽然编译器没有单独的预处理器,但在处理预处理指令时 ... -
vs 打包winform程序步骤经验总结
2010-01-06 09:47 58341、 应用程序文件夹 : 在应用程序文件夹下新建一文件夹重名为 ... -
处理资源 'http://localhost/ws/Service.asmx' 时出错(iis,.netframework安装顺序造成的错)
2009-12-30 17:10 1900刚刚学习webservices,很多东西都不懂。写了个最简单的 ... -
图解在VS2005利用NUnit进行测试
2009-12-21 12:53 1551一、介绍NUnit是一款用于在.net环境进行单元测试的工具, ... -
如何编写单元测试用例(转载自CSDN)
2009-12-17 17:01 3156一、 单元测试的概念 ... -
NUnit2.0详细使用方法
2009-12-17 17:00 10645 .测试生命周期合约 如果记得test case的定义,其中 ... -
NUnit2.0详细使用方法
2009-12-17 16:58 11571、初识NUnitNUnit是一个开源单元测试框架,它提高一套 ... -
在.NET环境中使用单元测试工具Nunit
2009-12-17 16:56 1052简介编写单元测试是一 ... -
.NET命名空间使用介绍
2009-12-17 11:29 1704在ASP.NET中,.NET Framework为我们 ... -
一种清晰而又简单通用的分页算法
2009-12-17 10:03 6081分页,是WEB开发中面对的最常见的编程,实现方法多种多样。我也 ... -
C#数据结构-双向链表
2009-12-17 09:54 1947在结点中设两个引用域,一个保存直接前驱结点的地址,叫prev, ... -
读书笔记c#高级编程 委托和事件
2009-12-17 09:49 1091在C#中使用一个类时,分两个阶段。首先需要定义这个类,即告诉编 ... -
深入理解C#中的委托和事件:委托的定义
2009-12-16 16:04 1635委托和事件在 .Net Framework中的应用非常广泛,然 ... -
C#委托和事件(简单示例)
2009-12-16 15:46 38211.委派的实现过程。 首先来看一下委派,委派其实就是方法的传 ... -
关于配置文件的读取
2009-11-18 16:52 2046在1.0/1.1版本,都流行的 ... -
C# WInForm 无框窗体移动
2009-11-12 13:56 2007调用APIusing System.Runtime.Inter ... -
在C# 中如何动态地添加控件
2009-09-09 11:05 3643通常在写程序的时候 ... -
ListBox相互移动
2009-08-14 17:33 1422using System;using System.Colle ... -
TreeView-demo
2009-08-14 17:22 1315using System;using System.Co ...
相关推荐
主要介绍了WinForm 窗体之间传值的几种方式(小结),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
C#winform窗体间传值,三种方法示例,注释详细。使用方法:使用vs2013打开编译运行即可; 工程中总共介绍了三种方法: ###方法1:通过保存对象的引用调用其方法实现对子窗体的控制; ###方法2:通过委托,在子窗体...
winform利用窗体属性实现窗体之间传值,实现窗体之间的交互!
C# Winform 窗体传值及接收返回值 通过构造传值 通过属性传值
本人整理的C#Winform窗体间传值的各种情况 很全面
C#窗体间传值代码,几种简单的传值方法。
C#委托事件,窗体之间可以传值 是两个可以看到效果的实例,也是基本思路,其他想怎么做只要稍微做一下扩展就可以了
使用委托实现winform跨窗体传值 高效可重用的窗体 减少窗体类的耦合 比全局变量有很多优势,下载一看便知 源码完整,下载即可运行 vs2005开发
子窗体回传值给父窗体 C#(Winfrom)窗体传值问题(子窗体回传值给父窗体).txt
C# WinForm通过全局变量实现不同窗体之间传值的解决方案的源码
C#winform多个窗体之间相互传递数据操作。弹出一个新窗体,选中一个数据并传递到父窗体的某个控件上,可以是TextBox也可以是DataGrideView之间相互传递数据,处理并刷新等。
winform 窗体间委托事件传值
C#,winform,ShowDialog,子窗体向父窗体传值
WinForm窗体间传值\(C#)
本文介绍了几种窗体之间传值的方式,主要是父窗体和子窗子之间调用数据的传递,内附代码,供初学者参考。
本地环境下可以传值到第三方的程序窗体容器的类似文本框内
通过window.showModalDialog实现模态窗体,并将返回值回写父窗体
WinForm 窗体之间利用委托实时传值,试了很多方法,最喜欢这种,帮我解决了大麻烦。
提供了多种窗体间数值传递方法,静态,属性,构造函数法等