1. Trang chủ
  2. » Công Nghệ Thông Tin

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

6 569 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 122,96 KB

Nội dung

Truyền Dữ Liệu Giữa 2 FormHô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ề

Trang 1

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

Trang 2

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();

Trang 3

}

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

Trang 4

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

Trang 5

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

Trang 6

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

Ngày đăng: 12/07/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w