Trang chủ

Tự học lập trình winform C# qua các ví dụ bài 3

Tự học lập trình winform C# qua các ví dụ bài 3

Tự học lập trình winform C# qua các ví dụ bài 3

 

 

Chương 3

Lập Trình Xử Lý Giao Diện

 

.NET Framework cho ta ba cách để user giao diện với chương trình áp dụng, đó là Windows Forms (có khi được gọi tắt là WinForms), Web Forms và Console applications. Trong chương trình của chúng ta chỉ học phần Windows Form cho lập trình xử lý giao diện và các ứng dụng cơ sở dữ liệu và phần Console applications cho phần hướng dẫn về lập trình hướng đối tượng.

 

  1. 1.   Window Form
    1. a.   Sự quan trọng của Windows Forms

Window form chính là cửa sổ của một màn hình ứng dụng. Nó chứa đựng các dữ liệu, control trên đó và là cửa sổ giao tiếp giữa người sử dụng (user) và máy tính.

  1. b.   Những điểm căn bản của Window Form

Trong các bài học và thí dụ trước đây ta đã nói qua, bây giờ ta tóm tắc những điểm căn bản của Windows Forms:

  • Một Windows Form thật sự là một class. Trong .NET không có từ đặc biệt như “form module” để dùng cho nó.
  • Vì một form là một class nên ta không thể load nó mà không chỉ rõ ra. Tức là trong VB6 nếu ta Show hay dùng đến một Form thì nó tự động được loaded. Chẳng những thế thôi, cái class Form2 được dùng như một variable Form2 luôn, tức là by default ta có một Object tên Form2. Trong .NET ta phải khai báo (declare) một variable tên myForm2 chẳng hạn rồi instantiate form ấy như một Object của Form2 trước khi dùng nó.
  • Tất cả mọi form đều thừa kế từ class System.Windows.Forms.Form.
  • Giống như tất cả các classes trong .NET Framework, Windows Forms có constructors và destructors. Constructor của form tên là  void New, đại khái giống như Sub Form_Load trong VB6. Destructor của form tên là void Dispose, đại khái giống như Sub Form_Unload trong VB6.
  • Cái visual forms designer của VS.NET nhét rất nhiều code để instantiate form và đặt các controls vào form. Đó là code mà đáng lẽ ta phải tự viết nếu ta dùng notepad để lập trình. Phần code nầy thay thế cái phần nằm ở đầu tệp .frm của VB6 để diễn tả các visual components của form. Mỗi lần ta thêm bớt các controls hay thay thế các properties của controls trên form thì code generated cho form được thay đổi theo. Do đó bạn nên tránh sửa đổi code ấy, trừ khi biết chắc mình đang làm gì, hay là bạn làm một phiên bản trước khi thay đổi để nếu lỡ kẹt thì restore code cũ.
  • Event được xử lý bằng cách linh động hơn. Các events chứa nhiều tin tức hơn. Một Event có thể được xử lý bởi nhiều controls cùng một lúc và mỗi control có một cách xử lý khác nhau. Ngược lại, nhiều Events khác nhau có thể được xử lý bằng một Event Handler duy nhất.

 

  1. c.    Tạo một form mới

Khi bạn tạo một dự án (project), thì 1 form sẽ được tự động đưa vào dự án với tên là form1. Tuy nhiên, trong một dự án sẽ thường có nhiều màn hình cửa sổ khác nhau (form), bạn sẽ thêm form vào dự án bằng cách vào menu Poject -> Add Window Form  như hình dưới:

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-1

 

 

bạn đánh vào tên file cho form (mặc định nó sẽ là form1, form2, …..) và chọn open.

Trên màn hình của VS .Net, 1 form bao giờ cũng có 2 phần: phần form design và phần source code của form.

–          Màn hình của form design: đây là phần dùng để tao giao diện cho 1 form bằng cách bạn kéo các đối tượng bên thanh công cụ và đưa vào trong form.

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-2

 

–          Màn hình của source code

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-3

 

 

 

Màn hình source code là nơi để bạn viết các đoạn code của mình để xử lý.

Trong lập trình Visual thì phần lớn thời gian là ta thiết kế và xử lý các giao diện, thời gian viết code sẽ không nhiều và số lượng code để viết cũng không nhiều, chủ yếu là chỉ viết code để xử lý các sự kiện (ta sẽ bàn tới sau) cho các đối tượng mà thôi. Đây chính là thế mạnh của của lập trình visual.

 

 

 

  1. d.   Vị trí ban đầu của form khi chạy chương trình

Với 1 ứng dụng, ta có thể muốn form hiển thị ngay giữa màn hình, hoặc ta có thể muốn form này hiển thị giữa form kia, v.v… VS .Net cho ta cửa sổ properties để bạn lựa chọn các thông số startPosition của nó như sau:

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-4

 

 

 

với ý nghĩa của các thông số:

 

Trị số Vị trí khởi đầu

Kết quả

Manual

Hiển thị form ở vị trí theo giá trị của property Location của form
CenterScreen Hiển thị form ở ngay giữa màn ảnh
CenterParent Hiển thị form ở ngay giữa form chủ (owner) của nó
WindowsDefaultLocation Hiển thị form ở vị trí default của cửa sổ
WindowsDefaultBounds Hiển thị form ở vị trí default của cửa sổ, với kích thước default của cửa sổ

 

  1. e.   Border của form

Một form thường có các đường viền (border) của nó, ta có thể thay đổi giá trị đường viền để form có những hình ảnh hiển thị khác nhau. Bạn có thể dùng cửa sổ properties để set lại giá trị FormBorderStyle

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-5

 

 

 

dưới đây là bảng giá trị của thuộc tính FormBorderStyle:

Loại

Giá trị

Diễn giải

None

0

Không có đường biên
FixedSignle

1

Tường tự như FixedDialog
Gfixed3D

2

Trông giống như 3 chiều
FixedDialog

3

Như hộp hội thoại
Sizable

4

Mặc nhiên
FixedToolWindow

5

Thanh caption nhỏ và không có nút close
SizableToolWindow

6

FizedToolWindow nhưng đường biên mỏng.

 

 

 

  1. f.     Và một số thuộc tính khác

Một số thuộc tính khác khá quan trọng của form:

 

Loại

Giá trị

Diễn giải

ControlBox

True
False

Có hay không có 3 nút min, max, và close trên góc phải
Maximinzebox

True
False

Có hay không có nút max
Miniminzebox

True
False

Có hay không có nút min
TopMost

True
False

Form này có luôn nằm lên trên hết các form khác hay không
Caption

Text

Đoạn text nằm trên thanh bar trên đầu của form
Name

Text

Tên của form.

Và rất nhiều thuộc tính khác nữa mà ta sẽ học sau.

 

Lưu ý: phần lớn, ta có thể thiết lập các giá trị properties cho form hay các controls (button, label, v.v…) bằng 2 cách:

–          Thiết lập bằng design (design-time) thông qua cửa sổ properties của form hay control đó.

–          Thiết lập bằng lập trình (run-time) thông qua các đoạn code.

 

  1. g.   Các sự kiện của form.

Trong lập trình visual, điều quan trọng nhấn là sử lý các sự kiện. Khi lập trình, thường ta chỉ thực hiện các thao tác kéo thả là ta có thể tạo được một giao diện hoàn chỉnh. Tuy nhiên, để giao diện đó hoạt động được theo đúng yêu cầu của ta thì ta buộc phải lập trình cho các sự kiện của từng hay nhiều control trên form đó.

 

 

 

 

 

 

Form có rất nhiều sự kiện, ở đây chỉ giới thiệu đến một số sự kiện quan trọng của form:

–          Sự kiện Load:

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

                  {

//Code xử lý cho quá trình form được load lên.

}

–          Sự kiện Closed:

 

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

{

//Code xử lý cho quá trình form đang được đóng lại.

}

–          Sự kiện Click (khi ta click mouse lên trên form):

 

private void Form3_Click(object sender, System.EventArgs e)
{

//Code xử lý khi chuột được click lên trên form.

}

Để tạo 1 hàm xử lý sự kiện (event function), cách tốt nhất là bạn bấm double click chuột lên đối tượng mà bạn muốn tạo hàm để xử lý sự kiện đó. Tuy nhiên, cách này thì VS .Net nó chỉ phát sinh 1 hàm xử lý sự kiện mặc định của nó (với form thi hàm mặc định xử lý sự kiện là Form_Load. Do vậy, bạn hãy mở cửa sổ properties của đối tượng đó, chọn tab các events, nó sẽ liệt kê các events mà đối tượng có như hình dưới đây,

 

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-6

 

 

sau đó bạn double click vào sự kiện mà bạn muốn, và một  hàm xử lý sự kiện được tạo ở bên phần source code và bạn chỉ việc viết thêm code để xử lý sự kiện này mà không cần quan tâm đến bằng cách nào mà hệ thống kiểm tra và xử lý nó.

  1. h.   Chọn startup form

Khi một ứng dụng có nhiều form, vấn đề ở chỗ là form nào sẽ là form được chạy đầu tiên khi bạn run một ứng dụng?

Để chỉ định StartUp Form của chương trình, bạn cần phải mở cửa sổ Properties của Project để đánh vào Startup Object. Bạn có thể làm điều ấy bằng cách dùng IDE menu command Project | Properties hay right click tên của Project trong Solution Explorer rồi chọn Properties.

 

 

tu-hoc-lap-trinh-winform-c#-qua-vi-du-bai-3-7

 

Lưu ý:

Vì trong 1 ứng dụng, thường chỉ có 1 form làm entry form (startup form) nên VS .Net sẽ tự set form đầu tiên của nó là form startup. Do đó, khi bạn thêm các form sau thì form đó sẽ không là form startup nên khi bạn startup object, nó sẽ không list ra cho bạn. Để có thể làm form startup, bạn phải thay đổi code ở bên trong bằng cách chép đoạn mã này vào trong phần code:

 

         static void Main()

{

Application.Run(new Form1());

}

Và thay tên Form (ở ví dụ trên là Form1) bằng tên form mà bạn muốn làm startup form.

Xem thêm:

Xem thêm

Thời trang

Xem thêm

Giảm cân

Mua bán inox, inox 304, inox 201
Xem thêm

Kiến thức y học

Xem thêm

Thông tin giáo dục

Link hữu ích
shop bán váy đầm công chúa đẹp tại TP.HCM
shop bán Thời trang trẻ em cao cấp giao hàng toàn cầu
mua mùn cưa
váy đầm trẻ em | váy đầm công chúa | Sở giáo dục Lâm Đồng 
 |  Thu mua phe lieu
shop bán đầm bé gái đẹp tại TP.HCM

Tuyển chuyên viên thiết kế và may đầm công chúa giỏi :