惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
Hugging Face - Blog
Hugging Face - Blog
Y
Y Combinator Blog
Recorded Future
Recorded Future
博客园 - Franky
F
Fortinet All Blogs
The Register - Security
The Register - Security
雷峰网
雷峰网
博客园 - 【当耐特】
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
WordPress大学
WordPress大学
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
S
Schneier on Security
Latest news
Latest news
S
Securelist
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
L
Lohrmann on Cybersecurity
V
Visual Studio Blog
NISL@THU
NISL@THU
Cyberwarzone
Cyberwarzone
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
Spread Privacy
Spread Privacy
酷 壳 – CoolShell
酷 壳 – CoolShell
Security Latest
Security Latest
A
About on SuperTechFans
大猫的无限游戏
大猫的无限游戏
SecWiki News
SecWiki News
N
News and Events Feed by Topic
T
Threatpost
The GitHub Blog
The GitHub Blog
博客园_首页
F
Full Disclosure
爱范儿
爱范儿
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Stack Overflow Blog
Stack Overflow Blog
Last Week in AI
Last Week in AI
月光博客
月光博客
C
Check Point Blog
G
Google Developers Blog
M
MIT News - Artificial intelligence
博客园 - 司徒正美

博客园 - 江宇旋

查询反模式 - GroupBy、HAVING的理解 T-SQL 公用表表达式(CTE) SQL语句 - 嵌套查询 SQL 操作结果集 -并集、差集、交集、结果集排序 疑难杂症 - SQL语句整理 SQL查询 - 表连接 SQL语句 - 数据操作 SQL语句 - 基本查询 SQL Server 事务语法 SQL 存储过程入门(事务)(四) SQL Server 中的事务与事务隔离级别以及如何理解脏读, 未提交读,不可重复读和幻读产生的过程和原因 SQL Server 的事务和锁(二)-Range S-S锁 SQL Server 的事务和锁(一) C#获取存储过程的 Return返回值和Output输出参数值 SQL函数说明大全 C#操作字符串方法总结<转> C#调用存储过程带输出参数或返回值 车辆售票坐位图 C#操作SQL Server通用类
winform窗体间传值
江宇旋 · 2016-02-11 · via 博客园 - 江宇旋

1.通过构造函数

复制代码

特点:传值是单向的(不可以互相传值),实现简单
实现代码如下:
在窗体Form2中      
int value1;
string value2;
public Form2 ( int value1 , string value2 )
{
    InitializeComponent ( );
    this.value1 = value1;
    this.value2 = value2;
}
在窗体Form1中这样调用
new Form2 ( 111 , "222" ).Show ( );  //这样就把111,"222",这2个值传送给了Form2

复制代码

2.通过静态变量

 View Code

3.通过窗体的公有属性值

 View Code

4.通过窗体的公有属性值和Owner属性

 View Code

5.通过窗体的公有属性值和Application.OpenForms属性

复制代码

说明:Application.OpenForms属性:获取属于应用程序的打开窗体的集合。(此属性在 .NET Framework2.0版中)
实现代码如下:
在窗体Form1中
public int Form1Value = 1;
Form2 f2 = new Form2 ( );
f2.Show ( );
在窗体Form2中
string formName = "Form1";
Form fr = Application.OpenForms [ formName ];
if ( fr != null )
{
    Form1 f1 = ( Form1 ) fr;
    //取到Form1的值是1
    MessageBox.Show ( f1.Form1Value.ToString ( ) );
    //给Form1的Form1Value赋值222
    f1.Form1Value = 222;
}

复制代码

6.通过事件

复制代码

实现代码如下:
在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值
并且还定义一个accept事件
public string Form2Value
{
    get
    {
        return this.textBox1.Text;
    }
    set
    {
        this.textBox1.Text = value;
    }
}
public event EventHandler accept;
     
private void button1_Click ( object sender , EventArgs e )
{
    if ( accept != null )
    {
        accept ( this , EventArgs.Empty );  //当窗体触发事件,传递自身引用
    }
}
在窗体Form1中
Form2 f2 = new Form2 ( );
f2.accept += new EventHandler ( f2_accept );
f2.Show ( );
void f2_accept ( object sender , EventArgs e )
{
 //事件的接收者通过一个简单的类型转换得到Form2的引用
    Form2 f2 = (Form2) sender;
 //接收到Form2的textBox1.Text
    this.textBox1.Text = f2.Form2Value;
}

复制代码

7:通过控件赋值

 View Code