Phần 1: Lập trình WinForm với C#
Nội Dung
Window Form?
Lập trình WinForm
Một số Window Control
07/05/14 V Phương Bnh – ITFAC - DLU 2
Window Form
Giao diện của ứng dụng WinForm là giao diện đồ
họa người dùng dễ thao tác.
Hầu hết mọi ứng dụng Window Form mở rộng từ
lớp System.Windows.Form để tuỳ chỉnh và thêm các
xử lý.
07/05/14 V Phương Bnh – ITFAC - DLU 3
Lập trình WinForm
WinForm không sử dụng Visual Studio .NET
Để hiểu rõ cách mà WinForm hoạt động và cách
nó tương tác với .NET Framework
WinForm có sử dụng Visual Studio .NET
Cho phép các nhà phát triển tạo ứng dụng
Window Form nhanh chóng và hiệu quả hơn.
07/05/14 V Phương Bnh – ITFAC - DLU 4
WinForm không sử dụng
Visual Studio .NET
File\New\Project Console Application
07/05/14 V Phương Bnh – ITFAC - DLU 5
WinForm không sử dụng
Visual Studio .NET (tt)
Đoạn code sau tạo một Form
using System; using System.Windows.Forms;
namespace WindowsFormsApp
{
class MyForm : Form
{
static void Main(string[] args)
{
MyForm aForm = new MyForm(); Application.Run(aForm);
}
}
}
07/05/14 V Phương Bnh – ITFAC - DLU 6
WinForm không sử dụng
Visual Studio .NET (tt)
Kết quả chạy chương trình
07/05/14 V Phương Bnh – ITFAC - DLU 7
Control
Ví dụ thêm một control Button vào form:
Thêm khai báo control Button:
class MyForm : Form {
private Button BigButton;
Thêm code sau vào hàm constructor:
07/05/14 V Phương Bnh – ITFAC - DLU 8
Control (tt)
public MyForm() {
BigButton = new Button();
BigButton.Location = new System.Drawing.Point(50, 50);
BigButton.Name = "BigButton";
BigButton.Size = new System.Drawing.Size(100, 100);
BigButton.Text = "Click Me!";
Controls.Add(BigButton);
ClientSize = new System.Drawing.Size(200, 200);
Text = "My Windows Form!";
}
07/05/14 V Phương Bnh – ITFAC - DLU 9
Control (tt)
Kết quả chạy chương trình lúc này
07/05/14 V Phương Bnh – ITFAC - DLU 10
Sự kiện
Thêm code sau vào hàm constructor
BigButton.Click += new EventHandler(ClickHandler);
Thêm hàm xử lý sự kiện EventHandler
static void Main(string[] args) {
MyForm aForm = new MyForm();
Application.Run(aForm);
}
private void ClickHandler(object sender, System.EventArgs e) {
MessageBox.Show("Clicked!","My Windows
Form",MessageBoxButtons.OK);
}
07/05/14 V Phương Bnh – ITFAC - DLU 11
Sự kiện (tt)
Kết quả chạy chương trình
07/05/14 V Phương Bnh – ITFAC - DLU 12
WinForm có sử dụng
Visual Studio .NET
File\New\Project Windows Application
07/05/14 V Phương Bnh – ITFAC - DLU 13
07/05/14 V Phương Bnh – ITFAC - DLU 14
Control
Label
Button
Checkbox
Menu
Radio button
Combo box
Listbox
Textbox
Tabcontrol
Toolbar
Tree view
07/05/14 V Phương Bnh – ITFAC - DLU 15
Thuộc tính của Control
Mỗi control có các thuộc tính thông dụng:
Name
Text
ForeColor
BackColor
TextAlign
Image
Visible
Enable
Anchor
Ví dụ
Ví dụ tạo giao diện gồm 3 TextBox nhập liệu và 2
Button xử lý sau dễ dàng, nhanh chóng.
07/05/14 V Phương Bnh – ITFAC - DLU 17
Sự kiện
Double Click vào control viết code xử lý.
07/05/14 V Phương Bnh – ITFAC - DLU 18
Menu
Các menu được dùng trong hầu hết mọi ứng dụng
WinForm.
Có hai kiểu menu:
MainMenu
ContextMenu
07/05/14 V Phương Bnh – ITFAC - DLU 19
MainMenu
07/05/14 V Phương Bnh – ITFAC - DLU 20
ContextMenu
07/05/14 V Phương Bnh – ITFAC - DLU 21
Dialog
Dialog là một kiểu đặc biệt của Form:
Lấy thông tin người dùng
Tương tác với ngừơi dùng trong các ứng dụng
Window
Có 2 loại dialog:
Modal: ngăn chận các luồng hiện tại và yêu cầu
người dùng trả lời vào hộp dialog trước khi tiếp
tục với ứng dụng.
Modeless: giống một cửa sổ chuẩn.
07/05/14 V Phương Bnh – ITFAC - DLU 22
Form Dialog
Tạo đối tượng Form
Form MyForm = new Form();
Hiển thị Form
Modal Dialog:
MyForm.ShowDialog();
Modeless Dialog:
MyForm.Show ();
07/05/14 V Phương Bnh – ITFAC - DLU 23
MessageBox
Hiển thị một Dialog thông báo:
MessageBox.Show(“Text", “Caption",
MessageBoxButtons);
07/05/14 V Phương Bnh – ITFAC - DLU 24
Dialog Box Results
Giá trị Mô tả
Abort Giá trị này thì được trả về khi một người dùng chọn một nút có nhãn Abort. Trong
trường hợp này, người dùng muốn huỹ thao tác hiện tại và không lưu sự thay đổi.
Cancel Giá trị này thường được trả về khi một người dùng chọn một nút có nhãnlà Cancel,
đóng hộp thoại bằng cách nhấn nút "x", hay nấn phím Esc. Người dùng muốn huỹ
các thay đổi và trả về trạng thái trước khi mở hộp thoại.
Ignore Giá trị này được trả về khi một người dùng chọn nút có nhãn Ignore. Giá trị này có
thể được sử dụng khi ứng dụng cảnh báo người dùng về các điều kiện xảy ra lỗi,
nhưng người dùng chọn lệnh Ignore.
No Giá trị này thường được trả về khi một người dùng chọn nút có nhãn No. Nó thì bình
thường khi hộp thoại được dùng để hỏi người dùng một câu hỏi es/no.
Yes Giá trị này thường được trả về khi một ngừời dùng chọn nút có nhãn Yes. Nó là con
trỏ đếm đến kết quả trả về Nó và được dùng trong cùng tình huống.
None Không có gì được trả về từ hộp thoại.
OK Giá trị này đươc trả về khi một người dùng chọn nút có nhãn OK. Nõ thì bình
thường trong các hộp thoại và các tin cảnh báo nơi nào quan trong cho người dùng
thừa nhận thông tin.
Retry Giá trị này được trả về khi một người dùng chọn nút có nhãn Retry. Nó có ích khi
một thao tác không thành công sẽ thành công nếu được thử lại.
07/05/14 V Phương Bnh – ITFAC - DLU 25