|
HỒ LÔ BIẾN |
|
Dành cho U16: Làm
quen với C# và .NET:
Món khai vị:
ChaoEChipNET
Anh SI SÁP |
|
Lần trước anh em mình đã cài xong
Visual Studio .NET (VS .NET), coi như “bếp núc” đã
sẵn sàng. Bây giờ mình bắt tay vào học chế biến một
"món khai vị" đơn giản. |
|
- Là món gì dzậy anh? Rau
muống luộc hay xào? (Hí hí) |
|
Suỵt! Nói trước mất hay. Em cứ
... nhắm mắt làm theo chỉ dẫn của anh nhe. Nào, ta
bắt đầu. Em khởi động VS .NET. Khi thấy trang
Getting Started, em bấm nút New Project. Trên hộp
thoại New Project vừa xuất hiện (hình 1), từ kiểu dự
án (project type) Visual C# Projects, em chọn khuôn
mẫu (template) Windows Application và đổi tên (trong
ô Name) thành ChaoEChipNET. |
|

Hình 1: Hộp thoại New Project |
|
Xong xuôi, em bấm OK. VS .NET sẽ
tự động tạo ra mọi thứ cần thiết ban đầu của một ứng
dụng Windows (hình 2). Sướng nhé! |
|

Hình 2: Ứng dụng ChaoEChipNET. |
|
Có nhiều cửa sổ hữu ích trong môi
trường thiết kế của VS để phát triển ứng dụng.
Khoan! Em đừng vội mở ra tùm lum, coi chừng...
“trúng gió”. Anh hướng dẫn tới đâu, em mở tới đó,
hén! Các cửa sổ then chốt mà em sẽ thường xuyên "dòm
ngó" khi tạo các ứng dụng Windows là Solution
Explorer, Properties và Toolbox. Nếu không thấy các
cửa sổ này, em làm cho chúng xuất hiện theo cách
thức được mô tả trong Bảng 1. |
|
Cửa sổ |
Các chọ lựa hay phím
tắt |
|
Properties |
Phím F4 |
| |
Chọn View, Properties từ
trình đơn VIEW |
| |
Bấm nút Properties trên thanh
công cụ chuẩn |
|
Toolbox |
Tổ hợp phím tắt
Ctrl+Alt+X |
| |
Chọn VIEW, Toolbox từ trình
đơn VIEW |
| |
Bấm nút TOOLBOX trên thanh
công cụ chuẩn |
|
Solution Explorer |
Tổ hợp phím tắt
Ctrl+Alt+L |
| |
Chọn VIEW, Solution Explorer
từ trình đơn VIEW |
| |
Bấm nút Solution Explorer trên
thanh công cụ chuẩn |
Bảng 1: Các phím tắt hay thao tác
đối với các cửa sổ chính yếu khi thiết kế biểu mẫu |
|
Em để ý, có một cửa sổ trống trơn
nằm "chình ình" giữa màn hình. Đó là "khuôn mặt" của
ứng dụng mà anh em mình sắp tạo ra. Trong môi trường
thiết kế, người ta gọi đấy là biểu mẫu (form). Ta có
thể "xây đắp" ứng dụng rất nhanh bằng cách lôi và
thả các điều khiển (controls) từ hộp đồ nghề Toolbox
vào biểu mẫu, thiết đặt các thuộc tính (properties)
và viết mã lệnh đáp ứng các tình huống (events) của
các điều khiển đó. |
|
- Điều khiển, tình huống,
đáp ứng là gì dzậy anh? Em hổng hiểu! |
|
Ví dụ, khi có ai đó “nhéo” (ngắt)
em một cái, đó là tình huống. Trong tình huống như
vậy em sẽ phản ứng như thế nào? Nếu “đối tượng” nhéo
em là “người iu” thì đó là một cái “nhéo yêu”, em
chỉ giả vờ “ui dzaaa!” và nhăn nhó lấy lệ, nhưng nếu
đó là một “kẻ xa lạ” thì em có thể “phùng mang trợn
má”, thậm chí “quyết một mất một còn”. Đó là các đáp
ứng khác nhau của tình huống “bị nhéo”. Khi ứng dụng
đang chạy, người dùng tác động lên các điều khiển
(bấm nút nào đó chẳng hạn) tạo ra các tình huống,
khi lập trình ta phải tính trước việc đáp ứng các
tình huống ấy. |
|
Em nghe kỹ nè, có vài cách khác
nhau để thêm điều khiển vào biểu mẫu. Cách thứ nhất,
em chỉ cần bấm kép vào một điều khiển trong Toolbox,
nó tự động nhảy vào bên trên điều khiển nào đó mới
vừa thêm trên biểu mẫu mà ta vừa "đụng" đến. Cách
thứ hai, em chọn một điều khiển từ Toolbox rồi dùng
chuột "vẽ" nó vào biểu mẫu. Cách này cho phép em dễ
dàng quy định vị trí và kích thước của điều khiển
trên biểu mẫu. |
|
|
|
Trăm nghe không bằng một... làm
thử, từ Toolbox, em hãy thêm vào biểu mẫu Form1 có
sẵn một cái Button (nút bấm), một cái Textbox (ô văn
bản) và một cái Label (nhãn) như hình 3. |
|

Hình 3: Thêm các điều khiển vào biểu mẫu Form1 có
sẵn. |
|
Tiếp theo, em bấm chọn biểu mẫu
và nhấn phím F4 để xem các thuộc tính của nó. Trong
cửa sổ Properties, em thử tìm và thay đổi thuộc tính
Font của biểu mẫu. Em thấy phông của các điều khiển
trên biểu mẫu đồng loạt thay đổi. Tuy nhiên, nếu cần
ta vẫn có thể thiết lập thuộc tính riêng biệt cho
từng điều khiển. |
|
Được không, em? Bây giờ em bấm
kép trên biểu mẫu đang thiết kế để vào cửa sổ Code
Editor, VS.NET sẽ bày ra hàm đáp ứng tình huống có
sẵn của biểu mẫu. Em chú ý, hàm đáp ứng tình huống
Form1_Load dùng để quy định những việc cần làm trong
tình huống nạp biểu mẫu (biểu mẫu vừa hiện ra). Hàm
này có hai đối mục (argument) là System.Object và
System.EventArgs: |
|
private void Form1_Load(object
sender, System.EventArgs e)
{
}
Trong hàm Form1_Load, em thêm câu lệnh như sau:
private void Form1_Load(object sender,
System.EventArgs e)
{
MessageBox.Show("Xin chao ban doc e-CHIP!");
} |
|
MessageBox (hộp thông báo) được
dùng để hiển thị lời nhắc nhở đối với người dùng.
Câu lệnh em vừa thêm dùng để yêu cầu hộp thông báo
hiển thị một dòng chữ theo ý mình. Cho ra vẻ... uyên
thâm, ta nói rằng câu lệnh ấy gọi hàm Show của đối
tượng MessageBox. |
|
Ta vừa viết hàm đáp ứng tình
huống cho biểu mẫu. Với từng điều khiển trên biểu
mẫu, em phải chọn tình huống (vì có nhiều tình huống
lắm!) rồi mới viết hàm đáp ứng tình huống. Thế này
nhé, em bấm vào button1 trên biểu mẫu rồi nhìn vào
cửa sổ Properties (lúc này trình bày các thuộc tính
của button1), bấm nút có hình "tia chớp" trên thanh
công cụ của cửa sổ đó. Em sẽ thấy một danh sách các
tình huống khả dĩ của button1 (hình 4). Tìm đến tình
huống Click (tình huống bấm nút) trên danh sách và
bấm kép vào đó, em thấy xuất hiện cửa sổ Code
Editor, mời mọc ta viết hàm đáp ứng tình huống
button1_Click. Em viết vào đó như sau: |
|

Hình
4. Thêm tình huống button1_Click cho button1. |
|
private void button1_Click(object
sender, System.EventArgs e)
{
label1.Text = textBox1.Text;
} |
|
Câu lệnh này làm cho thuộc tính
Text của label1 có nội dung giống như thuộc tính
Text của textbox1. |
|
Xong xuôi, em nhấn F5 để chạy ứng
dụng (chọn Start từ trình đơn Debug hay bấm nút
Start trên thanh công cụ chuẩn cũng được). Khi ứng
dụng chạy, em sẽ thấy xuất hiện một hộp thông báo có
dòng chữ Xin chao ban doc e-CHIP! mà em đã thêm
trong hàm đáp ứng tình huống Form1_Load. Đóng vai
người dùng, em đánh vào ô văn bản textBox1 dòng chữ
Chao the gioi .NET và bấm nút button1. Dòng chữ ấy
xuất hiện ở vị trí của label1. Đó là nhờ hàm đáp ứng
tình huống button1_Click mà em vừa viết. |
|
Muốn ứng dụng thôi chạy và trở
lại môi trường thiết kế, em nhấn vào ô có dấu X ở
góc phải trên của cửa sổ ứng dụng. Vậy là em đã xơi
được "C xương cá" rồi đó. Đâu có khó hơn Pascal,
hén? |
|
|