Windows Forms – Phần 2

Giống như trong .NET, sử dụng Visual studio.NET tạo các ứng dụng

Windows Form đơn giản hơn nhiều. Visual studio.NET giảm số lượng mã

rắc rối mà các nhà phát triển phải viết, cho phép các nhà phát triển tập trung

vào giải quyết các vấn đề kinh doanh.

Hãy xem cách tạo một ứng dụng Window Forms đơn giản sử dụng Visual

studio.NET. Chúng ta sẽ tạo một màn hình thực thể dữ liệu đơn giản cho

một hệ thống quản lý thông tin cá nhân hư cấu. Loại màn hình này sẽ được

gắn vào một số form của cơ sở dữ liệu sử dụng để lưu trữ dữ liệu cá nhân.

Chúng ta xem xét cách để tạo một tầng giao diện người dùng trong chương

này. Tạo một dự án Windows Application C# mới trong Visual studio.NET

với tựa đề là SimpleDataEntry.

pdf10 trang | Chuyên mục: Visual C# | Chia sẻ: dkS00TYs | Lượt xem: 1922 | Lượt tải: 1download
Tóm tắt nội dung Windows Forms – Phần 2, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Windows Applications 
Windows Forms – Phần 2 
Windows Form sử dụng Visual Studio .NET 
Giống như trong .NET, sử dụng Visual studio.NET tạo các ứng dụng 
Windows Form đơn giản hơn nhiều. Visual studio.NET giảm số lượng mã 
rắc rối mà các nhà phát triển phải viết, cho phép các nhà phát triển tập trung 
vào giải quyết các vấn đề kinh doanh. 
Hãy xem cách tạo một ứng dụng Window Forms đơn giản sử dụng Visual 
studio.NET. Chúng ta sẽ tạo một màn hình thực thể dữ liệu đơn giản cho 
một hệ thống quản lý thông tin cá nhân hư cấu. Loại màn hình này sẽ được 
gắn vào một số form của cơ sở dữ liệu sử dụng để lưu trữ dữ liệu cá nhân. 
Chúng ta xem xét cách để tạo một tầng giao diện người dùng trong chương 
này. Tạo một dự án Windows Application C# mới trong Visual studio.NET 
với tựa đề là SimpleDataEntry. 
Sau khi dự án được tạo, bạn sẽ thấy một form đơn giản trong Visual 
Studio.NET trong màn hình thiết kế. Màn hình thiết kế được dùng để thêm 
control vào form. Click phải trên tập tin Form1.cs trong Solution Explorer 
và chọn View Code. Nó sẽ hiển thị mã phát ra bởi form được hiển thị trong 
màn hình thiết kế. Nhìn qua đoạn mã này. Với việc thêm vào của một vài 
tiêu chuẩn, mà Visual studio.NET biên dịch như là phương thức 
InitalizeComponent(), đoạn mã nhìn rất giống với ứng dụng Windows Forms 
ban đầu. Chú ý cách dùng của Application.Run trong phương thức Main, và 
sự thật là lớp Form này thừa hưởng từ System.Windows.Forms.Form. 
Phương thức InitializeComponent() được dùng bởi Visual studio.NET để 
xây dựng Form tại thời gian chạy. Tất cả control và thuộc tính mà một nhà 
phát triển cài suốt thời gian thiết kế được cài tại thời gian chạy trong phương 
thức này. Khi có những sự thay đổi được tạo ra cho Form trong thời gian 
thiết kế, Visual Studio.NET sẽ cập nhật phương thức này. 
Quay lại màn hình thiết kế để thêm vài control vào form này để làm cho nó 
hữu dụng và thú vị hơn. Chú ý rằng khi bạn chọn form, cửa sổ properties cài 
đặt các thuộc tính khác nhau của các control trong ứng dụng Windows 
Forms của chúng ta. Nó là một bộ phận quan trọng của Visual studio.NET 
IDE, khi sử dụng nó thì dễ tìm kiếm tên của mọi thuộc tính, của mỗi control 
trong tài liệu .NET hơn. Có một số nút ở tại đầu của cửa sổ này. Hai thay đổi 
đầu tiên là cách mà các thuộc tính được hiển thị. Nhóm đầu tiên hiển thị các 
mục chọn trong phạm trù luận lý, như là tất cả thuộc tính với hình thức, cách 
cư xử, thiết kế và vân vân. Nút thứ hai sắp xếp tất cả thuộc tính theo thứ tự 
alphabe. Hai nút kế tiếp chốt vào giữa sự hiển thị thuộc tính hoặc các sự 
kiện. Chúng ta sẽ bàn luận những sự kiện và cách thêm chúng vào các 
control tiếp đó. Nút cuối cùng mở trang thuộc tính của dự án này: 
Cài các thuộc tính sau của form bằng cách sửa đổi chúng trực tiếp trong cửa 
sổ Properties: 
Property Value 
Text Data Entry Form 
Size 300, 220 
(Name) frmMain 
StartPosition CenterScreen 
Các cài đặt này sẽ tạo một cửa sổ 300 tới 220 pixel ở giữa màn hình. Thuộc 
tính Name là một thuộc tính quan trọng trên tất cả các controls. Giá trị này 
được dùng như tên đối tượng của các biến thành viên của lớp, và được dùng 
để tham khảo đế control trong đoạn mã. 
Bây giờ thêm hai control Button vào form. Cài các thuộc tính của hai control 
Button như sau: 
Property button1 Value button2 Value 
(Name) btnSave btnCancel 
Location 125, 157 210, 157 
Size 78, 25 78, 25 
Text Save Cancel 
Ở đây chúng ta đang thay đổi các tên mặc định của Button đến một giản đồ 
đặt tên chuẩn hơn, và định vị chúng vào vị trí chúng ta muốn chúng trên 
Form1. 
Quay về màn hình mã để xem xét những gì Visual studio.NET đã làm suốt 
thời gian này. Bạn sẽ thấy phần thêm của hai biến thành viên mới trong lớp 
Form. Nếu bạn mở rộng vùng tiêu đề "Windows Form Designer generated 
code" bạn sẽ thấy phương thức InitializeComponent(), nơi mà tất cả control 
trên form được khởi tạo và định hình chính xác. Phương thức này được gọi 
trong constructor của form. 
Tiếp đó thêm ba control TextBox và ba Control Label Next vào Form. Gán 
các thuộc tính như sau: 
Property TextBox1 TextBox2 TextBox3 Label1 Label2 Label3 
(Name) txtFName txtLName txtSSN label1 label2 label3 
Location 97, 25 97, 61 97, 99 20, 25 20, 62 20, 99 
Size 115, 20 115, 20 115, 20 70, 18 70, 18 70, 18 
Text (Blank) (Blank) (Blank) First 
Name: 
Last 
Name: 
SSN: 
Bạn nên có một Form giống một màn hình thực thể dữ liệu về thông tin 
người dùng. Một end-user có thể sử dụng màn hình này để nhập tên đầu và 
cuối của chúng như Social Security Number. Tại lúc này Form1 sẽ giống 
như sau: 
Các sự kiện (event): 
Các ứng dụng Windows là event-driven và không thêm mã, nó đáp ứng các 
sự kiện. Visual studio.NET tạo ra nó rất đơn giản bằng cách thêm mã đáp 
ứng các sự kiện phát sinh bởi ngừơi dùng và hệ thống. 
Cửa sổ Properties được cập nhật để phản ánh toàn bộ danh sách sự kiện có 
thể được điều khiển từ đối tượng này. Để thấy danh sách này, chọn nút thứ 
tư từ bên trái. Nó sẽ hiển thị một danh sách sự kiện cho đối tượng đang 
chọn, và chọn bất kỳ đối tượng nào nó sẽ có liên kết mã với chúng. Màn 
hình bên dưới chỉ dãy sự kiện khi đối Form được chọn. 
Việc thêm một sự kiện có thể được vận dụng một trong hai cách. Để thêm 
một sự kiện mặc định cho một control bằng cách click đôi lên nó trong màn 
hình thiết kế. 
Cách khác để thêm các bộ điều khiển sự kiện vào đoạn mã của bạn và các 
tuỳ chọn nếu bạn không thêm các sự kiện mặc định, bằng cách sử dụng cửa 
sổ Properties. Một lần nữa, đoạn mã pluming đúng sẽ được chèn vào lớp 
Form và bạn sẽ lấy các bộ điều khiển sự kiện cho sự kiện được chọn. 
Chú ý cửa sổ Properties, bạn phải làm như vậy nếu bạn có nhiều nút mà tất 
cả chúng cùng làm những việc giống nhau và yêu cầu cùng một sự xử lý. 
Hãy thêm vài đoạn mã trong bộ điều khiển sự kiện của hai control Button 
của chúng ta. Thêm bộ điều khiển sự kiện Click vào hai Buttons đang tồn tại. 
Thêm đoạn mã sau vào tập tin: 
 private void btnSave_Click(object sender, System.EventArgs e) 
 { 
 SaveFile(); 
 } 
 private void btnCancel_Click(object sender, System.EventArgs e) 
 { 
 Clear(); 
 } 
 private void SaveFile() 
 { 
 //Save the values to an XML file 
 //Could save to data source, Message Queue, etc. 
 System.Xml.XmlDocument aDOM = new 
System.Xml.XmlDocument(); 
 System.Xml.XmlAttribute aAttribute; 
 aDOM.LoadXml(""); 
 //Add the First Name attribute to XML 
 aAttribute = aDOM.CreateAttribute("FirstName"); 
 aAttribute.Value = txtFName.Text; 
 aDOM.DocumentElement.Attributes.Append(aAttribute); 
 //Add the Last Name attribute to XML 
 aAttribute = aDOM.CreateAttribute("LastName"); 
 aAttribute.Value = txtLName.Text; 
 aDOM.DocumentElement.Attributes.Append(aAttribute); 
 //Add the SSN attribute to XML 
 aAttribute = aDOM.CreateAttribute("SSN"); 
 aAttribute.Value = txtSSN.Text; 
 aDOM.DocumentElement.Attributes.Append(aAttribute); 
 //Save file to the file system 
 aDOM.Save("UserData.xml"); 
 } 
 private void Clear() 
 { 
 //Erase all the text 
 txtFName.Text = ""; 
 txtLName.Text = ""; 
 txtSSN.Text = ""; 
 } 
Ví dụ đơn giản này lưu dữ liệu được nhập bởi một tập tin XML trên hệ 
thống tập tin. Mọi ứng dụng sẽ sử dụng ADO.NET để lưu thông tin vào một 
nguồn dữ liệu back-end. Tuy nhiên, trong ví dụ này chúng ta sẽ xuất khẩu 
một tập tin XML nhỏ. 
Chúng ta sử dụng các phương thức private để thể hiện chức năng thực sự, vì 
thế chúng ta có thể sử dụng cùng chức năng từ các tuỳ chọn menu sau này. 
Mọi đoạn mã trong phương thức SaveFile() bao gồm việc viết ra tập tin 
XML chứa dữ liệu user-supplied. Sự kiện Click của nút Cancel gọi phương 
thức Clear() để xoá tất cả các control textbox. Chú ý rằng trong một ứng 
dụng hoàn chỉnh, nó có thể đóng cửa sổ này và trả về người dùng một màn 
hình chính. 
Chú ý rằng có một lỗi trong Visual studio.NET thỉnh thoảng yêu cầu một 
nhà phát triển thay đổi tên của lớp Form sử dụng trong phương thức Main() 
bằng tay. Nếu bạn có một lỗi khi biên dịch phương thức Main() và bảo đảm 
nó giống như đoạn mã sau. Phải bảo đảm rằng đoạn mã tạo đối tượng sử 
dụng tên lớp frmMain. Khi một tên lớp Form bị thay đổi thì dòng này không 
luôn luôn cập nhật. 
static void Main() 
{ 
 Application.Run(new frmMain()); 
} 
Nếu bạn chạy ứng dụng này tại lúc này bạn sẽ có một cửa sổ thực thể dữ liệu 
nhỏ có đầy đủ chức năng. Bạn có thể nhập dữ liệu, lưu nó vào một tập tin 
XML, và xoá tất cả giá trị. Việc đó thì đơn giản nhưng nó biểu lộ cách tạo 
các ứng dụng sử dụng Visual studio.NET. 

File đính kèm:

  • pdf63_2601.pdf