Truyền dữ liệu giữa 2 from

Chia sẻ: kienk6e

Có rât nhiêu cách(bao nhiêu cách thì tôi không biêt) ñe truyên d0 lieu gi0a các form trong 4ng d5ng winform form .Trong bài viêt này tôi xin ñưa ra 4 cách quan trIng và cũng de dàng ñe gi%i quyêt vân ñê c#a b7n và cũng c#a tôi.

Nội dung Text: Truyền dữ liệu giữa 2 from

Windown Form
WWW.CSHARPVN.COM



Truy n D Li u Gi a 2 Form
Hôm nay ñ luy n d ch salomit xin d ch bài "Passing Data Between Forms" c a tác gi Thiagarajan

Alagarsamy

Bài vi t này cung c p m t s phương pháp giúp truy n d li u gi a 2 form trong l p trình ng d ng windown

form

Gi i Thi u

M t s b n ñã g p v n ñ "Làm th nào ñ truy n d li u t m t form này ñ n m t form khác trong ng d ng

windown form ".Chân thành mà nói tôi cũng g p v n ñ như th trư c ñó.

Có r t nhi u cách(bao nhiêu cách thì tôi không bi t) ñ truy n d li u gi a các form trong ng d ng winform

form .Trong bài vi t này tôi xin ñưa ra 4 cách quan tr ng và cũng d dàng ñ gi i quy t v n ñ c a b n và cũng

c a tôi.

1.Dùng constructor

2.Dùng objects

3.Dùng propertes

4.Dùng delegates

ð có th minh h a các cách trên thì chúng ta c n có 2 form và m t s control c n thi t.Let's go ....

Bư c 1:

T o m t project m i và ch n ng d ng là winform form.

Bư c 2:

Thêm textbox1 và button1 vào Form v a t o ("ð t tên là form1").

Bư c 3:

T o m t Form nh n d li u ñư c g i t form1 và ñ t tên là form2 b ng cách click chu t ph i vào và ch n add

Biên t p: salomit Ngu n: Internet
Windown Form
WWW.CSHARPVN.COM


new window form

Bư c 4:

Thêm m t cái lable1 control ñ hi n th d li u truy n t form1.

a.Dùng Constructor

ðây là m t phương pháp có th nói là d nh t trong các phương pháp ñ ra trên.Phương th c s ñư c g i b t

kì khi nào b n t o ra ñ i tư ng.Phương pháp này g i là Constructor.Xây d ng m t hàm t o t form2 v i tham

s thu c ki u string.Trong hàm t o chúng ta g n thu c tính text c a lable là tham s truy n vào .Kh i t o ñ i

tư ng form2 b ng s ki n kích c a button1 trong form 1 sau ñó l y d li u textbox1 c a form1 làm ñ i s

truy n vào hàm t o form2.

C th như sau.

Xây d ng hàm t o t form2




public Form2(string strTextBox)

{

InitializeComponent();

label1.Text=strTextBox;

}




Ti p t c s ki n button1_click



private void button1_Click(object sender, System.EventArgs e)

{

Form2 frm=new Form2(textBox1.Text);

frm.Show();

Biên t p: salomit Ngu n: Internet
Windown Form
WWW.CSHARPVN.COM

}




b.Dùng Object

Object là ki u tham chi u và ñư c t o ra trên vùng nh heap b ng cách dùng t khóa new.Và bây gi chúng ta

s dùng chúng ñ truy n d li u gi a 2 form. Phương pháp này cũng ñơn gi n ,trong form2 ta t o m t ñ i tư ng

là form1,sau ñó t o ñ i tư ng form2 trong s ki n click c a button1 trong form1 ,bây gi ñ i tư ng form1 s là

thành viên c a form2..

C th

Bư c 1: Thay ñ i quy n truy xu t c a Form1 thành pulic.



public class Form1 : System.Windows.Forms.Form

{

public System.Windows.Forms.TextBox textBox1;

}




Bư c 2:T i s ki n kích c a button trên Form1 ta có s lí sau



private void btnSend_Click(object sender, System.EventArgs e)

{

Form2 frm= new Form2();

frm.frm1=this;

frm.Show();

}

B ư c 3:

Trong Form2 t o ñ i tư ng form1

Biên t p: salomit Ngu n: Internet
Windown Form
WWW.CSHARPVN.COM


public class Form2 : System.Windows.Forms.Form

{

private System.Windows.Forms.Label label1;

public Form1 frm1;

}

B ư c 4:

T o phương th c Load c a form2 ta th c hi n ép ki u v Form1 và truy xu t d li u c a thành viên textbox1

c a form1




private void Form2_Load(object sender, System.EventArgs e)

{

label1.Text=((Form1)frm1).textBox1.Text;

}



c.Dùng Thu c tính

Trong phương pháp này chúng ta th c hi n add m t thu c tính cho m i Form ,Trong form1 chúng ta dùng m t

thu c tính ñ nh n giá tr c a textbox1,còn trong form2 m t thu c tính cài ñ t cho thu c tính label'text.Sau ñó

trong s ki n button c a form1 ta t o ñ i tư ng form2 r i gán thu c tính ò form1 cho thu c tính form2.



Bư c 1:

Gán thu c tính cho form1 ñ nh n giá tr c a textbox1.




Biên t p: salomit Ngu n: Internet
Windown Form
WWW.CSHARPVN.COM




public string _textBox1

{

get{return textBox1.Text;}

}

Bư c 2:

T o m t thu c tính cho form 2

public string _textBox
{
set{label1.Text=value;}
}

Bư c 3:

X lí trong s ki n button1_click

private void button1_Click(object sender, System.EventArgs e)

{

Form2 frm=new Form2();

frm._textBox=_textBox1;

frm.Show();

}

d.Dùng Delegates.

Tôi không nh c l i ch c năng c a delegate,trong ví d này tôi xin dùng chúng ñ t o

ra cách truy n d li u gi a 2 form.

B ư c 1:

T i form 1 t o m t delegate

Biên t p: salomit Ngu n: Internet
Windown Form
WWW.CSHARPVN.COM


public delegate void delPassData(TextBox text);

Bư c 2:

T i s ki n button1_click ta x lí ño n code sau:

private void btnSend_Click(object sender, System.EventArgs e)

{

Form2 frm= new Form2();

delPassData del=new delPassData(frm.funData);//

del(this.textBox1);

frm.Show();

}

Bư c 3:

T i form2 t o ra m t hàm mà delegates ñã tr ñ n v i ch c năng là là gán d li u cho label1

public void funData(TextBox txtForm1)

{

label1.Text = txtForm1.Text;

}

K t lu n.

4 cách trên r t ñơn gi n và d th c hi n.Hi v ng là bài vi t trên giúp ích m i ngư i.

Thank

Salomit




Biên t p: salomit Ngu n: Internet
Đề thi vào lớp 10 môn Toán |  Đáp án đề thi tốt nghiệp |  Đề thi Đại học |  Đề thi thử đại học môn Hóa |  Mẫu đơn xin việc |  Bài tiểu luận mẫu |  Ôn thi cao học 2014 |  Nghiên cứu khoa học |  Lập kế hoạch kinh doanh |  Bảng cân đối kế toán |  Đề thi chứng chỉ Tin học |  Tư tưởng Hồ Chí Minh |  Đề thi chứng chỉ Tiếng anh
Theo dõi chúng tôi
Đồng bộ tài khoản