c#窗体间传值
来源:互联网 发布:小蜜蜂软件 编辑:程序博客网 时间:2024/05/02 14:01
可通过如下3种方法,供你参考。
1. 通过设立公共变量访问
从 Form1 传到 Form3
public class Common
{
public static Image MyImage;
}
//Form1
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
Common.MyImage = this.pictureBox1.Image;
frm3.Show();
}
}
//Form3
public partial class Form3 : Form
{
private void Form3_Load(object sender, EventArgs e)
{
if (Common.MyImage != null)
{
this.pictureBox1.Image = Common.MyImage;
}
}
}
2.通过窗体类的属性传递
从 Form1 传到 Form3
//Form1
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.MyImage = this.pictureBox1.Image;
frm3.Show();
}
}
//Form3
public partial class Form3 : Form
{
public Image MyImage { get; set; }
private void Form3_Load(object sender, EventArgs e)
{
if (MyImage != null)
{
this.pictureBox1.Image = MyImage;
}
} }
3.通过委托与事件触发传递
从 Form3 通过事件触发传到 Form1
public delegate void PassInfoDelegate(Image myImage);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.FireInfoEvent += frm3_FireInfoEvent;
frm3.Show();
}
void frm3_FireInfoEvent(Image myImage)
{
if (this.IsHandleCreated)
{
this.BeginInvoke(new PassInfoDelegate(ShowInfo), new object[] { myImage });
}
}
private void ShowInfo(Image myImage)
{
this.pictureBox1.Image = myImage;
}
}
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
public event PassInfoDelegate FireInfoEvent;
private void button1_Click(object sender, EventArgs e)
{
PassInfo(this.pictureBox1.Image );
}
private void PassInfo(Image myImage)
{
if (FireInfoEvent != null)
{
FireInfoEvent(myImage);
}
}
}
1. 通过设立公共变量访问
从 Form1 传到 Form3
public class Common
{
public static Image MyImage;
}
//Form1
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
Common.MyImage = this.pictureBox1.Image;
frm3.Show();
}
}
//Form3
public partial class Form3 : Form
{
private void Form3_Load(object sender, EventArgs e)
{
if (Common.MyImage != null)
{
this.pictureBox1.Image = Common.MyImage;
}
}
}
2.通过窗体类的属性传递
从 Form1 传到 Form3
//Form1
public partial class Form1 : Form
{
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.MyImage = this.pictureBox1.Image;
frm3.Show();
}
}
//Form3
public partial class Form3 : Form
{
public Image MyImage { get; set; }
private void Form3_Load(object sender, EventArgs e)
{
if (MyImage != null)
{
this.pictureBox1.Image = MyImage;
}
} }
3.通过委托与事件触发传递
从 Form3 通过事件触发传到 Form1
public delegate void PassInfoDelegate(Image myImage);
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form3 frm3 = new Form3();
frm3.FireInfoEvent += frm3_FireInfoEvent;
frm3.Show();
}
void frm3_FireInfoEvent(Image myImage)
{
if (this.IsHandleCreated)
{
this.BeginInvoke(new PassInfoDelegate(ShowInfo), new object[] { myImage });
}
}
private void ShowInfo(Image myImage)
{
this.pictureBox1.Image = myImage;
}
}
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
public event PassInfoDelegate FireInfoEvent;
private void button1_Click(object sender, EventArgs e)
{
PassInfo(this.pictureBox1.Image );
}
private void PassInfo(Image myImage)
{
if (FireInfoEvent != null)
{
FireInfoEvent(myImage);
}
}
}
阅读全文
0 0
- C# WinForm窗体间传值
- C# WinForm窗体间传值
- C# 窗体间传值
- C#窗体间传值
- C#窗体间传值
- C#窗体间传值
- c#窗体间传值
- C# 窗体间传值总结
- c#窗体间传值
- C# Winform窗体间传值
- C# Winform 窗体间传值
- C# winform 窗体间传值
- C# WinForm窗体间传值
- C#窗体间传值
- c#窗体间传值
- C#中实现窗体间传值
- C#窗体间传值方法总结
- c#窗体间传值-----补完
- zigbee(题型整理3)
- Codeforces Round #344 (Div. 2) C. Report (题解)
- 在Eclipse中测试MySQL-JDBC(10)preparestatement批处理(同时执行多条sql语句)
- Mysql 安装
- JSP里的basePath
- c#窗体间传值
- HTML登录界面
- 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
- UVA 572 Oil Deposits(DFS)
- 「NOIP2017模拟赛09.07」虐场
- 二进制逻辑运算求解137. Single Number II
- JD2018校招神奇数,疯狂队列
- 使用泛型简化动态代理
- 条件传送指令