zoukankan
html css js c++ java
winform+c#之窗体之间的传值 Virus
窗体传值可以分为两类。
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();
}
}
【Blog】
http://virusswb.cnblogs.com/
【MSN】
jorden008@hotmail.com
【说明】转载请标明出处,谢谢
反馈文章质量,你可以通过快速通道评论:
查看全文
相关阅读:
lombk在IDEA中报ClassNotFoundException错误
Groovy在不同JDK版本下的性能差异
Groovy中那些神奇注解之InheritConstructors
Groovy中那些神奇注解之ToString
Groovy中那些神奇注解之Memoized
写个自己的远程桌面
JAVA的BIT数组
基于JDK 8的Dubbo Admin
走进Groovy (二)
走进Groovy (一)
原文地址:https://www.cnblogs.com/virusswb/p/1131276.html
最新文章
第三天
leetcode-add-two-numbers 两数相加问题
ssh别名登陆服务器
小程序的switch组件
js录制视频并保存
从数组去重这个函数来体验es6的高效率
前端测试框架 puppeteer 文档翻译
WebAssembly简单指导---译
node使用https,webSocket开启wss
统一latext在vsc的markdown+math和有道云笔记里的出发方式
热门文章
递归调用里的性能问题(js)
async函数解析
Generator函数异步应用
Generator函数语法解析
HTTP首部解析
HTTP结构
了解web及网络基础
前端安全之CSRF攻击
前端安全之XSS攻击
前端存储
Copyright © 2011-2022 走看看