10/10/2018
Lập trình Ứng dụng quản lý
C#.NET
WinForm
Nội dung
GUI
Forms
Controls
Control basic
1
10/10/2018
Nội dung
GUI
Forms
Controls
Control basic
Các loại giao diện tương tác
Command line
Đặc trưng
Nhập xuất tuần tự với Keyboard (line – by - line)
MS-DOS (Windows 95/98/ME)
Command Prompt (Windows 2000/NT/XP/7)
2
10/10/2018
Text User Interface
Đặc trưng
Tương tác nhập xuất dễ dàng với Keyboard và
Mouse
Mọi thứ trên màn hình là Text.
Norton Commander,…
Graphic User Interface (GUI)
Đặc trưng
Giao diện đồ họa với độ nét cao.
Tương tác người dùng dễ dàng với Mouse,
Keyboard, Touch,....
Nhập xuất đa dạng.
3
10/10/2018
Sự thông dụng của GUI
Hầu hết các hệ điều hành hiện đại đều sử dụng
GUI.
Graphic: Winform, Textbox, Button,…
User: Người sử dụng chương trình.
Interface: Cách thức tương tác với chương trình.
GUI
GUI (Graphic User Interface): là phần thể hiện
giao tiếp chính của chương trình với người dùng.
Yếu tố GUI là thành phần quyết định chất lượng
của phần mềm với người dùng.
Nhiệm vụ:
Thể hiện nội dung, chức năng
Tương tác người dùng
4
10/10/2018
Nội dung
GUI
Forms
Controls
Control basic
Forms
Form là thành phần chính của WinForm. Một
chương trình Winform phải có tối thiểu 1 Form.
Form đơn giản là thể hiện của Window (thành
phần cơ bản giao diện người dùng của Microsoft
từ Windows 1.0).
Trong chương trình WinForm ln có một main
Form (kiểm sốt tất cả các form cịn lại, form
main tồn tại theo chương trình).
5
10/10/2018
Thành phần cơ bản của form
Title bar
Menu
Toolbar
Client (Controls)
Statusbar
Nội dung
GUI
Forms
Controls
Control basic
6
10/10/2018
Controls
Control là một thành phần cơ bản trên form.
Chức năng chính của control là thể hiện giao
diện chức năng và nhận tương tác từ người
dùng.
Các thành phần chính
Thuộc tính (properties)
Phương thức (methods)
Sự kiện (events)
Các property cơ bản của Control
Text: nội dung caption, title…
Focus: phương thức chuyển focus vào control
TabIndex: thứ tự của control nhận focus
Mặc định được VS.NET thiết lập
Enable: thiết lập trạng thái truy cập của control
Visible: ẩn control trên form, có thể dùng phương
thức Hide
Anchor:
Neo giữ control ở vị trí xác định
Cho phép control di chuyển theo vị trí
Size: xác nhận kích thước của control
7
10/10/2018
BackColor: Màu nền của control
BackgroundImage: Ảnh nền
ForeColor: màu của text
Enabled
Forcused
TabStop: cho phép lựa chọn control với Tab
Các loại Control
8
10/10/2018
Controls layout
Khi FormBorderStyle = Sizable, form cho phép
thay đổi kích thước khi runtime
Sự bố trí của control cũng thay đổi!
Sử dụng thuộc tính Anchor
Cho phép control phản ứng lại với thao tác resize
của form
Control có thể thay đổi vị trí tương ứng với việc resize của form
Control cố định không thay đổi theo việc resize của form
Các trạng thái neo
Left: cố định theo biên trái
Right: cố định theo biên phải
Top: cố định theo biên trên
Bottom: cố định theo biên dưới
Minh họa
None
Sizable
FormBorderStyle
Fixed3D
FixedSingle
9
10/10/2018
Anchor
Button được neo biên trái
Button tự do
Vị trí tương đối với biên trái khơng đổi
Di chuyển tương ứng theo kích thước mới
Anchor designer
Biên được
chọn neo,
màu đậm
10
10/10/2018
Dock
Dock: Các control có thể gắn (dock) với một
cạnh nào đó của form, hoặc container của
control
Windows Explorer
ListView
gắn bên
phải
TreeView gắn
bên trái
Dock với designer
Top
Left
Right
Bottom
None
11
10/10/2018
Nội dung
GUI
Forms
Controls
Control basic
Button
Là control cơ bản để tương tác với người dùng
thơng qua event chính là Click.
12
10/10/2018
Label
Là control cơ bản thể hiện nội dung chỉ đọc thông
qua Text.
Textbox
Là control cơ bản cho phép nhập chuỗi thông qua
Text.
13
10/10/2018
Tạo Form cơ bản
Một chương trình WinForm phải có 1 form main
(khởi chạy trước tiên).
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
Thêm các control
public Form1()
{
InitializeComponent();
Button btn = new Button();
btn.Text = "Button";
Controls.Add(btn);
Label lbl = new Label();
lbl.Text = "Label";
lbl.Left = 150;
Controls.Add(lbl);
}
14
10/10/2018
Thay đổi vị trí control động
Cần thay đổi Top, Left của control theo một điều
kiện nào đó?
Bài tập
Xây dựng chương trình WinForm cho phép nhập
vào Số hàng và Số cột, sau đó khi người dùng
nhấn Button sẽ tạo ra ma trận các Button (như
hình minh họa) và khi nhấn vào button nào thì sẽ
có MessageBox thơng tin button đó.
15
10/10/2018
Bài tập (tt)
Bài tập
Xây dựng chương trình WinForm với Form main
có các chức năng sau:
Có 1 Button “Thêm label”. Khi click sẽ tạo ra 1
Label có nội dung là “Label <xx>” (với xx là số từ 01
-> 99 là số thứ tự tạo Label) và xuất hiện ở vị trí bất
kỳ trên form.
Khi nhấn giữ mouse trên các Label và di chuyển thì
các Label sẽ di chuyển theo.
16