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

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

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

Thông tin tài liệu

WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet 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 WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet 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(); WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet } 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 WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet 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. WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet 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 WWW.CSHARPVN.COM Windown Form Biên tập: salomit Nguồn: Internet 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 . 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. 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. 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

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