sử dụng delegate truyền giá trị giữa 2 Form

Posted: 16/06/2011 in C# Window Form
Tags: , ,

bài này tôi hướng dẫn các bạn sử dụng delegate để truyền giá trị giữa 2 Form

giả sử tôi cần truyền giá trị String giữa 2 Form cha , con : từ cha -> con , từ con -> cha

thiết kế giao diện 2 Form như sau

https://i1.wp.com/nzoqla.bay.livefilestore.com/y1pZm5lNh08hYZJmcBzh6kEjJewKlalbsX8EZJLYsLgadN5t0oI2YbOOdxYVIPyoYWFROCw7hd0iZ-k20RZbRY91tI8k02Grtle/delegate1.png

tôi code như sau :

Form1 (form cha)


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Zstar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
formcon con = new formcon();
//delegate
private void Form1_Load(object sender, EventArgs e)
{
con.pa = new formcon.pass(Get);
con.Show();
}
private void Get(String value)
{
this.textBox2.Text = value;
}
//
//start cha
private void button1_Click(object sender, EventArgs e)
{
this.textBox2.Text=con.textBox1.Text;
}

private void button2_Click(object sender, EventArgs e)
{
con.textBox2.Text = this.textBox1.Text;
}
//end of cha
}
}


Form Con :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Zstar
{
public partial class formcon : Form
{
public formcon()
{
InitializeComponent();
}

private void formcon_Load(object sender, EventArgs e)
{

}
//delegate
public delegate void pass(String value);
public pass pa;
private void button2_Click(object sender, EventArgs e)
{
//set
if (pa != null)
{
pa(this.textBox1.Text);
}
}
//
private void button1_Click(object sender, EventArgs e)
{
//get
}
}
}


 

kết quả :

sau khi tôi nhập chuỗi bất kì và nhấn button Set ở mỗi Form thì giá trị của nó được truyền tới Form còn lại :

https://i2.wp.com/nzoqla.bay.livefilestore.com/y1p0jfOCKIme4rmvNwtvHjT-RUzansA-wOe0ozl2Vox-YAFOA4VWpshfjmnROX6LVXjhM8yqS5PESsnV7txC9EFCWYYPggtqqiL/delegate2.png

Comments
  1. Invisible says:

    Tạo luôn một event đi bác😀

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s