Lập trình Windows 10/10/2018 1 C# NET WinForm Lập trình Ứng dụng quản lý Nội dung GUI Forms Controls Control basic 10/10/2018 2 Nội dung GUI Forms Controls Control basic Các loại giao[.]
Trang 1C#.NET WinForm
Lập trình Ứng dụng quản lý
Nội dung
Forms
Controls
Control basic
Trang 2Nội dung
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)
Trang 3Text 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,
Trang 4Sự 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
Trang 5Nội dung
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 luôn có một main
Form (kiểm soát tất cả các form còn lại, form
main tồn tại theo chương trình)
Trang 6Thành phần cơ bản của form
Title bar
Menu
Toolbar
Client (Controls)
Statusbar
Nội dung
Forms
Controls
Control basic
Trang 7 Controllà 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…
Mặc định được VS.NET thiết lập
thức Hide
Neo giữ control ở vị trí xác định
Cho phép controldi chuyển theo vị trí
Size: xác nhận kích thước của control
Trang 8 BackColor: Màu nền của control
Các loại Control
Trang 9Controls 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
Controlcó thể thay đổi vị trí tương ứng với việc resize của form
Controlcố đị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
FixedSingle Fixed3D
Sizable
FormBorderStyle
Trang 10Button đượ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
Trang 11 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
TreeView gắn
bên trái
ListView gắn bên phải
Dock với designer
Top
Trang 12Nội dung
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.
Trang 13 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.
Trang 14Tạ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 ();
btn Text = "Button" ;
Controls Add ( btn );
Trang 15Thay đổ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 đó
Trang 16Bà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