SlideShare a Scribd company logo
1 of 55
Download to read offline
Bài 3:
LẬP TRÌNH GIAO DIỆN
ĐIỀU KHIỂN & XỬ LÝ SỰ KIỆN
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
Hệ thống bài cũ
Xây dựng lớp, cấu trúc
Tạo và sử dụng đối tượng
Xây dựng lớp kế thừa
Khái hình và sử dụng đa hình
Sử dụng các lớp và đối tượng dựng sẵn
Collection
Tự sinh mã khai báo
Lập trình giao diện - Điều khiển & xử lý sự kiện 2
Mục tiêu bài học
Các nhóm điều khiển trên form
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Sự kiện và xử lý sự kiện trong C#
Các nhóm điều khiển trên form
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Sự kiện và xử lý sự kiện trong C#
Lập trình giao diện - Điều khiển & xử lý sự kiện 3
ĐIỀU KHIỂN
TRÊN FORM
Lập trình giao diện - Điều khiển & xử lý sự kiện 4
ĐIỀU KHIỂN
TRÊN FORM
Visual Studio cung cấp rất nhiều điều khiển
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Điều khiển trong Visual Studio
Visual Studio cung cấp rất nhiều điều khiển
Các điều khiển thường dùng
Các điều khiển chứa
Các điều khiển menu
Các điều khiển dữ liệu
Các thành phần
Các điều khiển hỗ trợ in
Các điều khiển hộp thoại
Lập trình giao diện - Điều khiển & xử lý sự kiện 5
CÂYPHÂNCẤPĐIỀUKHIỂN
Lập trình giao diện - Điều khiển & xử lý sự kiện 6
CÂYPHÂNCẤPĐIỀUKHIỂN
COMMON CONTROLS
Lập trình giao diện - Điều khiển & xử lý sự kiện 7
Các điều khiển đã học
Làm quen với một số điều khiển
Nhóm điều khiển thường dùng
Lập trình giao diện - Điều khiển & xử lý sự kiện 8
CheckedListBox thừa kế từ ListBox nên sẽ có các thuộc
tính và phương thức của ListBox
CheckedListBox là một ListBox chứa các phần tử là
CheckBox
CheckedListBox
Lập trình giao diện - Điều khiển & xử lý sự kiện 9
Thuộc tính
CheckedIndices Trả về một collection các chỉ số được đánh dấu trong
CheckedListBox
CheckedItems Trả về một collection các phần tử được đánh dấu trong
CheckedListBox
CheckOnClick Nếu bằng true thì các phần tử được đánh dấu khi nhận một
nhấn đơn còn false thì phần tử sẽ được đánh dấu khi nhận
một click đúp chuột
Các thuộc tính của CheckedListBox
Nếu bằng true thì các phần tử được đánh dấu khi nhận một
nhấn đơn còn false thì phần tử sẽ được đánh dấu khi nhận
một click đúp chuột
Items Trả về các một collection gồm các phần tử của CheckedListBox
SelectedItem Lấy hoặc thiết lập phần tử vừa được chọn trong
CheckedListBox
SelectedItems Lấy hoặc thiết lập các phần tử được chọn trong
CheckedListBox
Lập trình giao diện - Điều khiển & xử lý sự kiện 10
Tham khảo thêm các thuộc tính và phương thức của CheckedListBox trên
http://msdn.microsoft.com/en-
us/library/system.windows.forms.checkedlistbox.aspx
Demo CheckedListBox
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked)
{
listBox1.Items.Add(checkedListBox1.SelectedItem.ToString());
}
else
{
listBox1.Items.Remove(checkedListBox1.SelectedItem.ToString());
}
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 11
private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (e.NewValue == CheckState.Checked)
{
listBox1.Items.Add(checkedListBox1.SelectedItem.ToString());
}
else
{
listBox1.Items.Remove(checkedListBox1.SelectedItem.ToString());
}
}
ListView là điều khiển dùng để hiển thị một danh sách các phần
tử với các biểu tượng
Windows Explorer là một ví dụ của ListView
ListView cung cấp nhiều cách hiển thị khác nhau (LargeIcon,
Details, SmallIcon, List, Title)
Xem Video hướng dẫn tạo Listview
ListView
ListView là điều khiển dùng để hiển thị một danh sách các phần
tử với các biểu tượng
Windows Explorer là một ví dụ của ListView
ListView cung cấp nhiều cách hiển thị khác nhau (LargeIcon,
Details, SmallIcon, List, Title)
Xem Video hướng dẫn tạo Listview
Lập trình giao diện - Điều khiển & xử lý sự kiện 12
Demo ListView
1. Thêm một cột vào Listview Click vào control Listview và chọn properties chọn mục
Column
2. Nhấn vào nút Add chọn thuộc tính Name và Text để đặt
tên và nhãn cho cột.
Lập trình giao diện - Điều khiển & xử lý sự kiện 13
3. Chọn thuộc tính FullRowSelect =true để chọn cả 1 dòng của Listview
4. Chọn thuộc tính View có giá trị là Details
Thêm /xóa một hàng vào Listview
1. Thêm phần tử vào dòng đầu tiên của Listview
listview1.Items.Add("Ducati"); // thêm cột thứ nhất
listview1.Items[0].SubItems.Add("2005");
listview1.Items[0].SubItems.Add("125");
listview1.Items[0].SubItems.Add("40000");
2. Thêm phần tử vào hàng thứ i của Listview
listview1.Items.Add("Hyundai");
listview1.Items[i].SubItems.Add("2007");
listview1.Items[i].SubItems.Add("400");
listview1.Items[i].SubItems.Add("850000");
Lập trình giao diện - Điều khiển & xử lý sự kiện 14
2. Thêm phần tử vào hàng thứ i của Listview
listview1.Items.Add("Hyundai");
listview1.Items[i].SubItems.Add("2007");
listview1.Items[i].SubItems.Add("400");
listview1.Items[i].SubItems.Add("850000");
3. Xóa tất cả các phần tử của Listview
listview1.Items.Clear(); .
Lấy giá trị của dòng Listview được chọn
1. Lấy giá trị cột thứ i của dòng đã chọn (cột đầu tiên có giá trị là 0)
if (listview1.SelectedItems.Count > 0){
listview1.SelectedItems[0].SubItems[0].Text
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 15
TreeView
Thuộc tính Phương thức Sự kiện
SelectedNode ExpandAll AfterCheck
ShowRootLines GetNodeAt AfterCollapse
ImageIndex GetNodeCount BeforeCheck
ShowPlusMinus CollapseAll BeforeCollapseShowPlusMinus CollapseAll BeforeCollapse
AfterSelect
AfterExpand
BeforeSelect
BeforeExpand
Thêm Node vào Treeview
1. Click phải chuột vào Treeview chọn mục Properties
2 Chọn mục Node và chọn collection
3 Nhấn nút Add root để thêm node gốc nhấn nút add child để thêm node con
4 Xem Video hướng dẫn thiết kế Treeview
Truy cập đến các node / lấy giá trị node được chọn
1. Giả sử có cây như hình vẽ
3 truy cập phần tử YZFR1 bằng chỉ số:
tw.Nodes[0].Nodes[0].Nodes[1].IsSelected
Truy cập phần tử Accord bằng chỉ số:
tw.Nodes[0].Nodes[1].Nodes[0].IsSelected
2. Thuộc tính Node.IsSelected cho biết Node được chọn
3 truy cập phần tử YZFR1 bằng chỉ số:
tw.Nodes[0].Nodes[0].Nodes[1].IsSelected
Truy cập phần tử Accord bằng chỉ số:
tw.Nodes[0].Nodes[1].Nodes[0].IsSelected
4. Lấy giá trị của Node được chọn dùng :
tw.SelectedNode.Text
Sử dụng để người dùng biết quá trình xử lý của máy tính
ProgressBar
Lập trình giao diện - Điều khiển & xử lý sự kiện 19
Các thuộc tính và
phương thức của ProgressBar
Thuộc tính Mô tả
Value Thiết lập vị trí hiện tại của ProgressBar
Step Thiết lập khoảng giá trị mà phương thức PerformStep sẽ tăng
Maximum Thiết lập giá trị cao nhất
Minimum Thiết lập giá trị nhỏ nhất
Lập trình giao diện - Điều khiển & xử lý sự kiện 20
Phương thức Mô tả
PerformStep Tăng vị trí hiện tại của ProgressBar theo giá trị trong thuộc tính
Step
Tham khảo thêm các thuộc tính và phương thức của CheckedListBox trên
http://msdn.microsoft.com/en-
us/library/system.windows.forms.progressbar.aspx
Demo quá trình tính tổng từ 1 đến 10
Demo ProgressBar
Lập trình giao diện - Điều khiển & xử lý sự kiện 21
Demo ProgressBar
//Đề mô quá trình tính tổng từ 1 đến 10
private void btnTinh_Click(object sender, EventArgs e)
{
progressBar.Value = 0;
progressBar.Maximum = 100;
progressBar.Minimum = 0;
progressBar.Step = 10;
int sum = 0;
for (int i = 0; i < 10; i++)
{
sum += i;
Thread.Sleep(1000);
progressBar.PerformStep();
}
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 22
//Đề mô quá trình tính tổng từ 1 đến 10
private void btnTinh_Click(object sender, EventArgs e)
{
progressBar.Value = 0;
progressBar.Maximum = 100;
progressBar.Minimum = 0;
progressBar.Step = 10;
int sum = 0;
for (int i = 0; i < 10; i++)
{
sum += i;
Thread.Sleep(1000);
progressBar.PerformStep();
}
}
Là điều khiển dùng để hiển thị các trang web với địa chỉ
được chỉ ra
WebBrowser
Lập trình giao diện - Điều khiển & xử lý sự kiện 23
Thuộc tính
Phương thức
WebBrowser
Thuộc tính
LocationURL Thiết lập URL cho trang hiện tại
Thuộc tính
Phương thức
Lập trình giao diện - Điều khiển & xử lý sự kiện 24
Phương thức
Navigate(url) Duyệt đến trang được chỉ ra
GoBack() Duyệt trang trước đó trong history
GoForward() Duyệt trang tiếp theo trong history
Demo WebBrowser
Lập trình giao diện - Điều khiển & xử lý sự kiện 25
Demo WebBrowser
private void btnOK_Click(object sender, EventArgs e)
{
string url = txtUrl.Text;
webBrowser.Navigate(new Uri(url));
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 26
private void btnOK_Click(object sender, EventArgs e)
{
string url = txtUrl.Text;
webBrowser.Navigate(new Uri(url));
}
Tự tìm hiểu các điều khiển còn lại của nhóm Common
Controls, xây dựng một demo nhỏ cho mỗi điều khiển
BÀI TẬP VỀ NHÀ
Sử dụng từ khóa: Tên điều khiển Example C# để tìm kiếm
Lập trình giao diện - Điều khiển & xử lý sự kiện 27
CONTAINERS
Lập trình giao diện - Điều khiển & xử lý sự kiện 28
Containers
Lập trình giao diện - Điều khiển & xử lý sự kiện 29
Ví dụ về điều khiển Tab
(Options của Firefox)
MENUS & TOOLBARS
Lập trình giao diện - Điều khiển & xử lý sự kiện 30
Menus & Toolbars
Lập trình giao diện - Điều khiển & xử lý sự kiện 31
ContextMenuStrip
ToolStrip
StatusStrip
Menu trạng thái (Status Strip)
StatusStrip (Menu trạng thái) Nằm cuối form cho biết
trạng thái hiện tại của ứng dụng
Lập trình giao diện - Điều khiển & xử lý sự kiện 32
Visual Studio cung cấp menu
ngữ cảnh cho các điều khiển
Menu xuất hiện khi người dùng
nhấn phải chuột vào điều
khiển
Muốn sử dụng menu ngữ cảnh
cho một điều khiển cần
1. Thêm menu ngữ cảnh vào
form
2. Gán menu ngữ cảnh đó cho
thuộc tính ContextMenuStrip
Menu ngữ cảnh (ContextMenuStrip)
Visual Studio cung cấp menu
ngữ cảnh cho các điều khiển
Menu xuất hiện khi người dùng
nhấn phải chuột vào điều
khiển
Muốn sử dụng menu ngữ cảnh
cho một điều khiển cần
1. Thêm menu ngữ cảnh vào
form
2. Gán menu ngữ cảnh đó cho
thuộc tính ContextMenuStrip
Lập trình giao diện - Điều khiển & xử lý sự kiện 33
CÁC ĐIỀU KHIỂN KHÁC
Lập trình giao diện - Điều khiển & xử lý sự kiện 34
Các điều khiển khác
Lập trình giao diện - Điều khiển & xử lý sự kiện 35
Cung cấp cơ chế để thực thi hành động sau mỗi khoảng
thời gian
Thuộc tính/Phương thức
Sự kiện
Timer
Thuộc tính/Phương thức Mô tả
Interval Chỉ ra khoảng thời gian sự kiện Tick xẩy
ra
Cung cấp cơ chế để thực thi hành động sau mỗi khoảng
thời gian
Thuộc tính/Phương thức
Sự kiện
Lập trình giao diện - Điều khiển & xử lý sự kiện 36
Chỉ ra khoảng thời gian sự kiện Tick xẩy
ra
Start() Bắt đầu tính thời gian
Stop() Kết thúc Timer
Thuộc tính/Phương thức Mô tả
Tick Xẩy ra mỗi khoảng thời gian được chỉ ra
trong thuộc tính Interval
Demo ProgressBar với Timer
private void Form1_Load(object sender, EventArgs e)
{
pb.Minimum = 0;
pb.Maximum = 100;
pb.Value = 20;
pb.Step = 2;
Controls.Add(pb);
timer1.Interval = 200;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
pb.PerformStep();
if (pb.Value == pb.Maximum)
{
timer1.Stop();
}
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 37
private void Form1_Load(object sender, EventArgs e)
{
pb.Minimum = 0;
pb.Maximum = 100;
pb.Value = 20;
pb.Step = 2;
Controls.Add(pb);
timer1.Interval = 200;
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
pb.PerformStep();
if (pb.Value == pb.Maximum)
{
timer1.Stop();
}
}
Chọn ra 3 điều khiển bất kỳ chưa được giới thiệu để tìm
hiểu, mỗi điều khiển cho một demo nhỏ
BÀI TẬP VỀ NHÀ
Sử dụng từ khóa: Tên điều khiển Example C# để tìm kiếm
Lập trình giao diện - Điều khiển & xử lý sự kiện 38
THIẾT LẬP THUỘC TÍNH
CHO ĐIỀU KHIỂN
Lập trình giao diện - Điều khiển & xử lý sự kiện 39
THIẾT LẬP THUỘC TÍNH
CHO ĐIỀU KHIỂN
Có hai cách thiết lập thuộc tính cho điều khiển
Thiết lập thuộc tính cho các điều khiển trên panel
properties
Viết mã để thiết lập cho tất cả các thuộc tính cho điều
khiển
Khi thiết lập thuộc tính trên panel properties, IDE tự sinh
code trong file Designer.cs
Thiết lập thuộc tính cho điều khiển
Có hai cách thiết lập thuộc tính cho điều khiển
Thiết lập thuộc tính cho các điều khiển trên panel
properties
Viết mã để thiết lập cho tất cả các thuộc tính cho điều
khiển
Khi thiết lập thuộc tính trên panel properties, IDE tự sinh
code trong file Designer.cs
Lập trình giao diện - Điều khiển & xử lý sự kiện 40
Demo thiết lập thuộc tính bằng IDE
Lập trình giao diện - Điều khiển & xử lý sự kiện 41
// Mã được sinh bởi IDE
this.lblLabel.ForeColor = System.Drawing.SystemColors.HotTrack;
this.lblLabel.Location = new System.Drawing.Point(27, 41);
this.lblLabel.Name = "lblLabel";
this.lblLabel.Size = new System.Drawing.Size(69, 24);
this.lblLabel.TabIndex = 0;
this.lblLabel.Text = "Hello!!!";
Demo thiết lập thuộc tính
cho điều khiển bằng viết mã
private void Form1_Load(object sender, EventArgs e)
{
lblHow.Text = "How are you?";
this.lblHow.ForeColor = System.Drawing.SystemColors.Highlight;
}
Lập trình giao diện - Điều khiển & xử lý sự kiện 42
private void Form1_Load(object sender, EventArgs e)
{
lblHow.Text = "How are you?";
this.lblHow.ForeColor = System.Drawing.SystemColors.Highlight;
}
VIẾT MÃ THÊM ĐIỀU
KHIỂN VÀO FORM
Lập trình giao diện - Điều khiển & xử lý sự kiện 43
VIẾT MÃ THÊM ĐIỀU
KHIỂN VÀO FORM
Có thể thêm điều khiển vào form bằng cách sử dụng
công cụ hoặc viết mã; trong lúc thiết kế hoặc trong quá
trình thực thi ứng dụng
Các bước để thêm điều khiển vào form
B1. Tạo thực thể của điều khiển
B2. Thêm điều khiển vào form
B3. Thiết lập các thuộc tính cho điều khiển
Viết mã thêm điều khiển vào form
Có thể thêm điều khiển vào form bằng cách sử dụng
công cụ hoặc viết mã; trong lúc thiết kế hoặc trong quá
trình thực thi ứng dụng
Các bước để thêm điều khiển vào form
B1. Tạo thực thể của điều khiển
B2. Thêm điều khiển vào form
B3. Thiết lập các thuộc tính cho điều khiển
Lập trình giao diện - Điều khiển & xử lý sự kiện 44
private void Form1_Load(object sender, EventArgs e)
{
CheckedListBox clb = new CheckedListBox();
Controls.Add(clb);
clb.Items.Add("hi");
clb.Items.Add("how");
clb.Items.Add("are");
clb.Items.Add("you");
}
1
2
3
SỰ KIỆN
CỦA ĐIỀU KHIỂN
Lập trình giao diện - Điều khiển & xử lý sự kiện 45
SỰ KIỆN
CỦA ĐIỀU KHIỂN
Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều
khiển
Điều khiển button được cung cấp 60 sự kiện
Mỗi điều khiển được hỗ trợ một tập các sự kiện khác
nhau tùy vào đặc thù của điều khiển
Sự kiện được chia làm 3 nhóm chính
Sự kiện đối với chuột
MouseClick, MouseDown, MouseEnter…
Sự kiện đối với bàn phím
KeyUp, KeyDown..
Sự kiện khác
TextChanged, FontChanged…
Sự kiện điều khiển
Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều
khiển
Điều khiển button được cung cấp 60 sự kiện
Mỗi điều khiển được hỗ trợ một tập các sự kiện khác
nhau tùy vào đặc thù của điều khiển
Sự kiện được chia làm 3 nhóm chính
Sự kiện đối với chuột
MouseClick, MouseDown, MouseEnter…
Sự kiện đối với bàn phím
KeyUp, KeyDown..
Sự kiện khác
TextChanged, FontChanged…
Lập trình giao diện - Điều khiển & xử lý sự kiện 46
Có 3 sự kiện chính của bàn phím
KeyDown
KeyPress
KeyUp
Khi một phím ký tự được nhấn thì các sự kiện xẩy ra
theo trình tự KeyDown, KeyPress và KeyUp
Khi một phím không phải ký tự được nhấn, chỉ có sự
kiện KeyDown và KeyUp
Sự kiện này sẽ được áp dụng cho điều khiển nào đang
nhận được focus
Sự kiện đối với bàn phím
Có 3 sự kiện chính của bàn phím
KeyDown
KeyPress
KeyUp
Khi một phím ký tự được nhấn thì các sự kiện xẩy ra
theo trình tự KeyDown, KeyPress và KeyUp
Khi một phím không phải ký tự được nhấn, chỉ có sự
kiện KeyDown và KeyUp
Sự kiện này sẽ được áp dụng cho điều khiển nào đang
nhận được focus
Lập trình giao diện - Điều khiển & xử lý sự kiện 47
Demo Sự kiện đối với bàn phím
Lập trình giao diện - Điều khiển & xử lý sự kiện 48
private void button1_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Button 1");
}
private void button2_KeyPress(object sender, KeyPressEventArgs e)
{
MessageBox.Show("Button 2");
}
Demo Sự kiện đối với bàn phím
Lập trình giao diện - Điều khiển & xử lý sự kiện 49
Nhấn một phím bất kỳ khi
Button 1 được focus
Nhấn một phím bất kỳ khi
Button 2 được focus
Để gán một phương thức xử lý sự kiện cho một điều
khiển, cần nối phương thức xử lý sự kiện cho sự kiện
Mỗi phương thức xử lý sự kiện có thể nối cho nhiều sự
kiện
Xử lý sự kiện trong C#
SỰ KIỆN PHƯƠNG THỨC
XỬ LÝ SỰ KIỆN
button1.Click private void button1_Click(object
sender, EventArgs e)
{
}
Để gán một phương thức xử lý sự kiện cho một điều
khiển, cần nối phương thức xử lý sự kiện cho sự kiện
Mỗi phương thức xử lý sự kiện có thể nối cho nhiều sự
kiện
Lập trình giao diện - Điều khiển & xử lý sự kiện 50
PHƯƠNG THỨC
XỬ LÝ SỰ KIỆN
button1.Click private void button1_Click(object
sender, EventArgs e)
{
}
this.button1.Click += new System.EventHandler(this.button1_Click);
Mã này thuộc file Designer.cs, IDE tự sinh mã
Demo nối một phương thức
xử lý sự kiện với nhiều sự kiện
//Viết mã cho xử lý sự kiện
private void xoaTextBoxTong(object sender, EventArgs e){
txtTong.Text = "";
}
2
1
Lập trình giao diện - Điều khiển & xử lý sự kiện 51
Gán phương thức xử lý sự kiện
cho các TextBox Số kiện hàng
và Số sách trong mỗi kiện
this.txtSoKienHang.TextChanged += new
System.EventHandler(this.xoaTextBoxTong);
this.txtSoSach.TextChanged += new
System.EventHandler(this.xoaTextBoxTong);
Mã được IDE tự sinh
2
3
Demo nối một phương thức
xử lý sự kiện với nhiều sự kiện
Lập trình giao diện - Điều khiển & xử lý sự kiện 52
Nhập vào Số kiện hàng và
Số sách trong mỗi kiện
Nhập vào Số kiện hàng thì
giá trị trong TextBox Tổng
số sách: được xóa
Tìm hiểu các sự kiện hỗ trợ cho các điều khiển được học
ngày hôm nay
BÀI TẬP VỀ NHÀ
Lập trình giao diện - Điều khiển & xử lý sự kiện 53
.NET hỗ trợ rất nhiều điều khiển để thực thi hầu như các
thao tác mong muốn, các điều khiển được gom vào các
nhóm khác nhau tùy vào mục đích sử dụng
Các điều khiển CheckListBox, ListView, ProgressBar,
WebBrowser thuộc nhóm Common
Các điều khiển ConTextMenu, StatusStrip và
ToolStripContainer thuộc nhóm Menu&Toolbar
Tổng kết bài học
.NET hỗ trợ rất nhiều điều khiển để thực thi hầu như các
thao tác mong muốn, các điều khiển được gom vào các
nhóm khác nhau tùy vào mục đích sử dụng
Các điều khiển CheckListBox, ListView, ProgressBar,
WebBrowser thuộc nhóm Common
Các điều khiển ConTextMenu, StatusStrip và
ToolStripContainer thuộc nhóm Menu&Toolbar
Lập trình giao diện - Điều khiển & xử lý sự kiện 54
Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều
khiển. Mỗi điều khiển được hỗ trợ một tập các sự kiện
khác nhau tùy vào đặc thù của điều khiển
Sự kiện được chia làm 3 nhóm chính: sự kiện đối với
chuột, sự kiện đối với bàn phím và sự kiện khác
Để gán một phương thức xử lý sự kiện cho một điều
khiển, cần nối phương thức xử lý sự kiện cho sự kiện
Mỗi phương thức sự kiện có thể nối cho nhiều sự kiện
Tổng kết bài học
Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều
khiển. Mỗi điều khiển được hỗ trợ một tập các sự kiện
khác nhau tùy vào đặc thù của điều khiển
Sự kiện được chia làm 3 nhóm chính: sự kiện đối với
chuột, sự kiện đối với bàn phím và sự kiện khác
Để gán một phương thức xử lý sự kiện cho một điều
khiển, cần nối phương thức xử lý sự kiện cho sự kiện
Mỗi phương thức sự kiện có thể nối cho nhiều sự kiện
Lập trình giao diện - Điều khiển & xử lý sự kiện 55

More Related Content

What's hot

Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệHưởng Nguyễn
 
Bai tap lap trinh c
Bai tap lap trinh  cBai tap lap trinh  c
Bai tap lap trinh ctiểu minh
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm nataliej4
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGThùy Linh
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boolekikihoho
 
Mẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớnMẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớnJohn MacTavish
 
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTMasterCode.vn
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTMasterCode.vn
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệutrieulongweb
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựAskSock Ngô Quang Đạo
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTBài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTMasterCode.vn
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuThiênĐàng CôngDân
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịThanh Hoa
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiếtHoàng Trí Phan
 
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnKĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
 

What's hot (20)

Chuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệChuẩn hóa lược đồ quan hệ
Chuẩn hóa lược đồ quan hệ
 
Bai tap lap trinh c
Bai tap lap trinh  cBai tap lap trinh  c
Bai tap lap trinh c
 
Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm Mô hình hóa dữ liệu mức quan niệm
Mô hình hóa dữ liệu mức quan niệm
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Mẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớnMẫu báo cáo bài tập lớn
Mẫu báo cáo bài tập lớn
 
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPTBÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
BÀI 6: Thủ tục (SUB) và hàm (FUNCTION) - Giáo trình FPT
 
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPTBài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
Bài 2: Lập trình hướng đối tượng (OOP) - Giáo trình FPT
 
Bài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệuBài giảng cơ sở dữ liệu
Bài giảng cơ sở dữ liệu
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPTBài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
Bài 7: Danh sách liên kết (LINKED LIST) và tập hợp (SET) - Giáo trình FPT
 
Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thịđồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
đồ áN phân tích thiết kế hệ thống quản lý bán hàng siêu thị
 
tổng hợp bài tập java có đáp án chi tiết
 tổng hợp bài tập java có đáp án chi tiết tổng hợp bài tập java có đáp án chi tiết
tổng hợp bài tập java có đáp án chi tiết
 
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnKĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 

Viewers also liked

Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...MasterCode.vn
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vntailieumienphi
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerMasterCode.vn
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...MasterCode.vn
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 

Viewers also liked (6)

Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
Bài 7: Lập trình với CSDL – Sử dụng DESIGNER & Triển khai ứng dụng - Lập trìn...
 
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vnLập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
Lập trình ứng dụng web asp.net với C# - tailieumienphi.edu.vn
 
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPagerBài 6: Điều khiển DetailsView, FormView, ListView, DataPager
Bài 6: Điều khiển DetailsView, FormView, ListView, DataPager
 
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
Bài 4: Lập trình với CSDL ADO.NET & Kiến trúc không kết nối & Lập trình giao ...
 
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 5: Làm quen với lập trình CSDL ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 

Similar to Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - Giáo trình FPT

Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...MasterCode.vn
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnTráng Hà Viết
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTMasterCode.vn
 
Thực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicThực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicLE The Vinh
 
P3 web server control
P3   web server controlP3   web server control
P3 web server controltancntt89
 
Hdth09 ltudql02-linq-e3
Hdth09 ltudql02-linq-e3Hdth09 ltudql02-linq-e3
Hdth09 ltudql02-linq-e3Dũng Đinh
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTMasterCode.vn
 
Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Nhat Linh Luong
 
MVC
MVCMVC
MVCtkot
 
W3 p5 delegate & eventb
W3 p5   delegate & eventbW3 p5   delegate & eventb
W3 p5 delegate & eventbTuấn Huỳnh
 
Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Đặng Til
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpngohanty13
 

Similar to Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - Giáo trình FPT (20)

Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
Bài 2: Hướng dẫn làm việc với các điều khiển - Giáo trình FPT - Có ví dụ kèm ...
 
Oop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiệnOop unit 12 đồ họa và xử lý sự kiện
Oop unit 12 đồ họa và xử lý sự kiện
 
Window Form
Window FormWindow Form
Window Form
 
J query khtn
J query khtnJ query khtn
J query khtn
 
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPTBài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
Bài 3: Cấu trúc điều khiển, hàm và xử lý sự kiện - Giáo trình FPT
 
User Control
User ControlUser Control
User Control
 
Lap trinh asp.net
Lap trinh asp.netLap trinh asp.net
Lap trinh asp.net
 
Thực hành lập trình Visual Bacsic
Thực hành lập trình Visual BacsicThực hành lập trình Visual Bacsic
Thực hành lập trình Visual Bacsic
 
P3 web server control
P3   web server controlP3   web server control
P3 web server control
 
Hdth09 ltudql02-linq-e3
Hdth09 ltudql02-linq-e3Hdth09 ltudql02-linq-e3
Hdth09 ltudql02-linq-e3
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010Tai lieu huong_dan_tu_hoc_visual_studio2010
Tai lieu huong_dan_tu_hoc_visual_studio2010
 
Asp.net003
Asp.net003Asp.net003
Asp.net003
 
MVC
MVCMVC
MVC
 
Asp
AspAsp
Asp
 
63 2601
63 260163 2601
63 2601
 
W3 p5 delegate & eventb
W3 p5   delegate & eventbW3 p5   delegate & eventb
W3 p5 delegate & eventb
 
Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Slide3 - Co ban HTML5
Slide3 - Co ban HTML5
 
Giao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharpGiao trinh asp.ne_tvoi_csharp
Giao trinh asp.ne_tvoi_csharp
 
Ung dung web chuong 7
Ung dung web  chuong 7Ung dung web  chuong 7
Ung dung web chuong 7
 

More from MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - Giáo trình FPT

  • 1. Bài 3: LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN & XỬ LÝ SỰ KIỆN
  • 2. Xây dựng lớp, cấu trúc Tạo và sử dụng đối tượng Xây dựng lớp kế thừa Khái hình và sử dụng đa hình Sử dụng các lớp và đối tượng dựng sẵn Collection Tự sinh mã khai báo Hệ thống bài cũ Xây dựng lớp, cấu trúc Tạo và sử dụng đối tượng Xây dựng lớp kế thừa Khái hình và sử dụng đa hình Sử dụng các lớp và đối tượng dựng sẵn Collection Tự sinh mã khai báo Lập trình giao diện - Điều khiển & xử lý sự kiện 2
  • 3. Mục tiêu bài học Các nhóm điều khiển trên form Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Sự kiện và xử lý sự kiện trong C# Các nhóm điều khiển trên form Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Sự kiện và xử lý sự kiện trong C# Lập trình giao diện - Điều khiển & xử lý sự kiện 3
  • 4. ĐIỀU KHIỂN TRÊN FORM Lập trình giao diện - Điều khiển & xử lý sự kiện 4 ĐIỀU KHIỂN TRÊN FORM
  • 5. Visual Studio cung cấp rất nhiều điều khiển Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Điều khiển trong Visual Studio Visual Studio cung cấp rất nhiều điều khiển Các điều khiển thường dùng Các điều khiển chứa Các điều khiển menu Các điều khiển dữ liệu Các thành phần Các điều khiển hỗ trợ in Các điều khiển hộp thoại Lập trình giao diện - Điều khiển & xử lý sự kiện 5
  • 6. CÂYPHÂNCẤPĐIỀUKHIỂN Lập trình giao diện - Điều khiển & xử lý sự kiện 6 CÂYPHÂNCẤPĐIỀUKHIỂN
  • 7. COMMON CONTROLS Lập trình giao diện - Điều khiển & xử lý sự kiện 7
  • 8. Các điều khiển đã học Làm quen với một số điều khiển Nhóm điều khiển thường dùng Lập trình giao diện - Điều khiển & xử lý sự kiện 8
  • 9. CheckedListBox thừa kế từ ListBox nên sẽ có các thuộc tính và phương thức của ListBox CheckedListBox là một ListBox chứa các phần tử là CheckBox CheckedListBox Lập trình giao diện - Điều khiển & xử lý sự kiện 9
  • 10. Thuộc tính CheckedIndices Trả về một collection các chỉ số được đánh dấu trong CheckedListBox CheckedItems Trả về một collection các phần tử được đánh dấu trong CheckedListBox CheckOnClick Nếu bằng true thì các phần tử được đánh dấu khi nhận một nhấn đơn còn false thì phần tử sẽ được đánh dấu khi nhận một click đúp chuột Các thuộc tính của CheckedListBox Nếu bằng true thì các phần tử được đánh dấu khi nhận một nhấn đơn còn false thì phần tử sẽ được đánh dấu khi nhận một click đúp chuột Items Trả về các một collection gồm các phần tử của CheckedListBox SelectedItem Lấy hoặc thiết lập phần tử vừa được chọn trong CheckedListBox SelectedItems Lấy hoặc thiết lập các phần tử được chọn trong CheckedListBox Lập trình giao diện - Điều khiển & xử lý sự kiện 10 Tham khảo thêm các thuộc tính và phương thức của CheckedListBox trên http://msdn.microsoft.com/en- us/library/system.windows.forms.checkedlistbox.aspx
  • 11. Demo CheckedListBox private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) { if (e.NewValue == CheckState.Checked) { listBox1.Items.Add(checkedListBox1.SelectedItem.ToString()); } else { listBox1.Items.Remove(checkedListBox1.SelectedItem.ToString()); } } Lập trình giao diện - Điều khiển & xử lý sự kiện 11 private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e) { if (e.NewValue == CheckState.Checked) { listBox1.Items.Add(checkedListBox1.SelectedItem.ToString()); } else { listBox1.Items.Remove(checkedListBox1.SelectedItem.ToString()); } }
  • 12. ListView là điều khiển dùng để hiển thị một danh sách các phần tử với các biểu tượng Windows Explorer là một ví dụ của ListView ListView cung cấp nhiều cách hiển thị khác nhau (LargeIcon, Details, SmallIcon, List, Title) Xem Video hướng dẫn tạo Listview ListView ListView là điều khiển dùng để hiển thị một danh sách các phần tử với các biểu tượng Windows Explorer là một ví dụ của ListView ListView cung cấp nhiều cách hiển thị khác nhau (LargeIcon, Details, SmallIcon, List, Title) Xem Video hướng dẫn tạo Listview Lập trình giao diện - Điều khiển & xử lý sự kiện 12
  • 13. Demo ListView 1. Thêm một cột vào Listview Click vào control Listview và chọn properties chọn mục Column 2. Nhấn vào nút Add chọn thuộc tính Name và Text để đặt tên và nhãn cho cột. Lập trình giao diện - Điều khiển & xử lý sự kiện 13 3. Chọn thuộc tính FullRowSelect =true để chọn cả 1 dòng của Listview 4. Chọn thuộc tính View có giá trị là Details
  • 14. Thêm /xóa một hàng vào Listview 1. Thêm phần tử vào dòng đầu tiên của Listview listview1.Items.Add("Ducati"); // thêm cột thứ nhất listview1.Items[0].SubItems.Add("2005"); listview1.Items[0].SubItems.Add("125"); listview1.Items[0].SubItems.Add("40000"); 2. Thêm phần tử vào hàng thứ i của Listview listview1.Items.Add("Hyundai"); listview1.Items[i].SubItems.Add("2007"); listview1.Items[i].SubItems.Add("400"); listview1.Items[i].SubItems.Add("850000"); Lập trình giao diện - Điều khiển & xử lý sự kiện 14 2. Thêm phần tử vào hàng thứ i của Listview listview1.Items.Add("Hyundai"); listview1.Items[i].SubItems.Add("2007"); listview1.Items[i].SubItems.Add("400"); listview1.Items[i].SubItems.Add("850000"); 3. Xóa tất cả các phần tử của Listview listview1.Items.Clear(); .
  • 15. Lấy giá trị của dòng Listview được chọn 1. Lấy giá trị cột thứ i của dòng đã chọn (cột đầu tiên có giá trị là 0) if (listview1.SelectedItems.Count > 0){ listview1.SelectedItems[0].SubItems[0].Text } Lập trình giao diện - Điều khiển & xử lý sự kiện 15
  • 16. TreeView Thuộc tính Phương thức Sự kiện SelectedNode ExpandAll AfterCheck ShowRootLines GetNodeAt AfterCollapse ImageIndex GetNodeCount BeforeCheck ShowPlusMinus CollapseAll BeforeCollapseShowPlusMinus CollapseAll BeforeCollapse AfterSelect AfterExpand BeforeSelect BeforeExpand
  • 17. Thêm Node vào Treeview 1. Click phải chuột vào Treeview chọn mục Properties 2 Chọn mục Node và chọn collection 3 Nhấn nút Add root để thêm node gốc nhấn nút add child để thêm node con 4 Xem Video hướng dẫn thiết kế Treeview
  • 18. Truy cập đến các node / lấy giá trị node được chọn 1. Giả sử có cây như hình vẽ 3 truy cập phần tử YZFR1 bằng chỉ số: tw.Nodes[0].Nodes[0].Nodes[1].IsSelected Truy cập phần tử Accord bằng chỉ số: tw.Nodes[0].Nodes[1].Nodes[0].IsSelected 2. Thuộc tính Node.IsSelected cho biết Node được chọn 3 truy cập phần tử YZFR1 bằng chỉ số: tw.Nodes[0].Nodes[0].Nodes[1].IsSelected Truy cập phần tử Accord bằng chỉ số: tw.Nodes[0].Nodes[1].Nodes[0].IsSelected 4. Lấy giá trị của Node được chọn dùng : tw.SelectedNode.Text
  • 19. Sử dụng để người dùng biết quá trình xử lý của máy tính ProgressBar Lập trình giao diện - Điều khiển & xử lý sự kiện 19
  • 20. Các thuộc tính và phương thức của ProgressBar Thuộc tính Mô tả Value Thiết lập vị trí hiện tại của ProgressBar Step Thiết lập khoảng giá trị mà phương thức PerformStep sẽ tăng Maximum Thiết lập giá trị cao nhất Minimum Thiết lập giá trị nhỏ nhất Lập trình giao diện - Điều khiển & xử lý sự kiện 20 Phương thức Mô tả PerformStep Tăng vị trí hiện tại của ProgressBar theo giá trị trong thuộc tính Step Tham khảo thêm các thuộc tính và phương thức của CheckedListBox trên http://msdn.microsoft.com/en- us/library/system.windows.forms.progressbar.aspx
  • 21. Demo quá trình tính tổng từ 1 đến 10 Demo ProgressBar Lập trình giao diện - Điều khiển & xử lý sự kiện 21
  • 22. Demo ProgressBar //Đề mô quá trình tính tổng từ 1 đến 10 private void btnTinh_Click(object sender, EventArgs e) { progressBar.Value = 0; progressBar.Maximum = 100; progressBar.Minimum = 0; progressBar.Step = 10; int sum = 0; for (int i = 0; i < 10; i++) { sum += i; Thread.Sleep(1000); progressBar.PerformStep(); } } Lập trình giao diện - Điều khiển & xử lý sự kiện 22 //Đề mô quá trình tính tổng từ 1 đến 10 private void btnTinh_Click(object sender, EventArgs e) { progressBar.Value = 0; progressBar.Maximum = 100; progressBar.Minimum = 0; progressBar.Step = 10; int sum = 0; for (int i = 0; i < 10; i++) { sum += i; Thread.Sleep(1000); progressBar.PerformStep(); } }
  • 23. Là điều khiển dùng để hiển thị các trang web với địa chỉ được chỉ ra WebBrowser Lập trình giao diện - Điều khiển & xử lý sự kiện 23
  • 24. Thuộc tính Phương thức WebBrowser Thuộc tính LocationURL Thiết lập URL cho trang hiện tại Thuộc tính Phương thức Lập trình giao diện - Điều khiển & xử lý sự kiện 24 Phương thức Navigate(url) Duyệt đến trang được chỉ ra GoBack() Duyệt trang trước đó trong history GoForward() Duyệt trang tiếp theo trong history
  • 25. Demo WebBrowser Lập trình giao diện - Điều khiển & xử lý sự kiện 25
  • 26. Demo WebBrowser private void btnOK_Click(object sender, EventArgs e) { string url = txtUrl.Text; webBrowser.Navigate(new Uri(url)); } Lập trình giao diện - Điều khiển & xử lý sự kiện 26 private void btnOK_Click(object sender, EventArgs e) { string url = txtUrl.Text; webBrowser.Navigate(new Uri(url)); }
  • 27. Tự tìm hiểu các điều khiển còn lại của nhóm Common Controls, xây dựng một demo nhỏ cho mỗi điều khiển BÀI TẬP VỀ NHÀ Sử dụng từ khóa: Tên điều khiển Example C# để tìm kiếm Lập trình giao diện - Điều khiển & xử lý sự kiện 27
  • 28. CONTAINERS Lập trình giao diện - Điều khiển & xử lý sự kiện 28
  • 29. Containers Lập trình giao diện - Điều khiển & xử lý sự kiện 29 Ví dụ về điều khiển Tab (Options của Firefox)
  • 30. MENUS & TOOLBARS Lập trình giao diện - Điều khiển & xử lý sự kiện 30
  • 31. Menus & Toolbars Lập trình giao diện - Điều khiển & xử lý sự kiện 31 ContextMenuStrip ToolStrip StatusStrip
  • 32. Menu trạng thái (Status Strip) StatusStrip (Menu trạng thái) Nằm cuối form cho biết trạng thái hiện tại của ứng dụng Lập trình giao diện - Điều khiển & xử lý sự kiện 32
  • 33. Visual Studio cung cấp menu ngữ cảnh cho các điều khiển Menu xuất hiện khi người dùng nhấn phải chuột vào điều khiển Muốn sử dụng menu ngữ cảnh cho một điều khiển cần 1. Thêm menu ngữ cảnh vào form 2. Gán menu ngữ cảnh đó cho thuộc tính ContextMenuStrip Menu ngữ cảnh (ContextMenuStrip) Visual Studio cung cấp menu ngữ cảnh cho các điều khiển Menu xuất hiện khi người dùng nhấn phải chuột vào điều khiển Muốn sử dụng menu ngữ cảnh cho một điều khiển cần 1. Thêm menu ngữ cảnh vào form 2. Gán menu ngữ cảnh đó cho thuộc tính ContextMenuStrip Lập trình giao diện - Điều khiển & xử lý sự kiện 33
  • 34. CÁC ĐIỀU KHIỂN KHÁC Lập trình giao diện - Điều khiển & xử lý sự kiện 34
  • 35. Các điều khiển khác Lập trình giao diện - Điều khiển & xử lý sự kiện 35
  • 36. Cung cấp cơ chế để thực thi hành động sau mỗi khoảng thời gian Thuộc tính/Phương thức Sự kiện Timer Thuộc tính/Phương thức Mô tả Interval Chỉ ra khoảng thời gian sự kiện Tick xẩy ra Cung cấp cơ chế để thực thi hành động sau mỗi khoảng thời gian Thuộc tính/Phương thức Sự kiện Lập trình giao diện - Điều khiển & xử lý sự kiện 36 Chỉ ra khoảng thời gian sự kiện Tick xẩy ra Start() Bắt đầu tính thời gian Stop() Kết thúc Timer Thuộc tính/Phương thức Mô tả Tick Xẩy ra mỗi khoảng thời gian được chỉ ra trong thuộc tính Interval
  • 37. Demo ProgressBar với Timer private void Form1_Load(object sender, EventArgs e) { pb.Minimum = 0; pb.Maximum = 100; pb.Value = 20; pb.Step = 2; Controls.Add(pb); timer1.Interval = 200; timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { pb.PerformStep(); if (pb.Value == pb.Maximum) { timer1.Stop(); } } Lập trình giao diện - Điều khiển & xử lý sự kiện 37 private void Form1_Load(object sender, EventArgs e) { pb.Minimum = 0; pb.Maximum = 100; pb.Value = 20; pb.Step = 2; Controls.Add(pb); timer1.Interval = 200; timer1.Start(); } private void timer1_Tick(object sender, EventArgs e) { pb.PerformStep(); if (pb.Value == pb.Maximum) { timer1.Stop(); } }
  • 38. Chọn ra 3 điều khiển bất kỳ chưa được giới thiệu để tìm hiểu, mỗi điều khiển cho một demo nhỏ BÀI TẬP VỀ NHÀ Sử dụng từ khóa: Tên điều khiển Example C# để tìm kiếm Lập trình giao diện - Điều khiển & xử lý sự kiện 38
  • 39. THIẾT LẬP THUỘC TÍNH CHO ĐIỀU KHIỂN Lập trình giao diện - Điều khiển & xử lý sự kiện 39 THIẾT LẬP THUỘC TÍNH CHO ĐIỀU KHIỂN
  • 40. Có hai cách thiết lập thuộc tính cho điều khiển Thiết lập thuộc tính cho các điều khiển trên panel properties Viết mã để thiết lập cho tất cả các thuộc tính cho điều khiển Khi thiết lập thuộc tính trên panel properties, IDE tự sinh code trong file Designer.cs Thiết lập thuộc tính cho điều khiển Có hai cách thiết lập thuộc tính cho điều khiển Thiết lập thuộc tính cho các điều khiển trên panel properties Viết mã để thiết lập cho tất cả các thuộc tính cho điều khiển Khi thiết lập thuộc tính trên panel properties, IDE tự sinh code trong file Designer.cs Lập trình giao diện - Điều khiển & xử lý sự kiện 40
  • 41. Demo thiết lập thuộc tính bằng IDE Lập trình giao diện - Điều khiển & xử lý sự kiện 41 // Mã được sinh bởi IDE this.lblLabel.ForeColor = System.Drawing.SystemColors.HotTrack; this.lblLabel.Location = new System.Drawing.Point(27, 41); this.lblLabel.Name = "lblLabel"; this.lblLabel.Size = new System.Drawing.Size(69, 24); this.lblLabel.TabIndex = 0; this.lblLabel.Text = "Hello!!!";
  • 42. Demo thiết lập thuộc tính cho điều khiển bằng viết mã private void Form1_Load(object sender, EventArgs e) { lblHow.Text = "How are you?"; this.lblHow.ForeColor = System.Drawing.SystemColors.Highlight; } Lập trình giao diện - Điều khiển & xử lý sự kiện 42 private void Form1_Load(object sender, EventArgs e) { lblHow.Text = "How are you?"; this.lblHow.ForeColor = System.Drawing.SystemColors.Highlight; }
  • 43. VIẾT MÃ THÊM ĐIỀU KHIỂN VÀO FORM Lập trình giao diện - Điều khiển & xử lý sự kiện 43 VIẾT MÃ THÊM ĐIỀU KHIỂN VÀO FORM
  • 44. Có thể thêm điều khiển vào form bằng cách sử dụng công cụ hoặc viết mã; trong lúc thiết kế hoặc trong quá trình thực thi ứng dụng Các bước để thêm điều khiển vào form B1. Tạo thực thể của điều khiển B2. Thêm điều khiển vào form B3. Thiết lập các thuộc tính cho điều khiển Viết mã thêm điều khiển vào form Có thể thêm điều khiển vào form bằng cách sử dụng công cụ hoặc viết mã; trong lúc thiết kế hoặc trong quá trình thực thi ứng dụng Các bước để thêm điều khiển vào form B1. Tạo thực thể của điều khiển B2. Thêm điều khiển vào form B3. Thiết lập các thuộc tính cho điều khiển Lập trình giao diện - Điều khiển & xử lý sự kiện 44 private void Form1_Load(object sender, EventArgs e) { CheckedListBox clb = new CheckedListBox(); Controls.Add(clb); clb.Items.Add("hi"); clb.Items.Add("how"); clb.Items.Add("are"); clb.Items.Add("you"); } 1 2 3
  • 45. SỰ KIỆN CỦA ĐIỀU KHIỂN Lập trình giao diện - Điều khiển & xử lý sự kiện 45 SỰ KIỆN CỦA ĐIỀU KHIỂN
  • 46. Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều khiển Điều khiển button được cung cấp 60 sự kiện Mỗi điều khiển được hỗ trợ một tập các sự kiện khác nhau tùy vào đặc thù của điều khiển Sự kiện được chia làm 3 nhóm chính Sự kiện đối với chuột MouseClick, MouseDown, MouseEnter… Sự kiện đối với bàn phím KeyUp, KeyDown.. Sự kiện khác TextChanged, FontChanged… Sự kiện điều khiển Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều khiển Điều khiển button được cung cấp 60 sự kiện Mỗi điều khiển được hỗ trợ một tập các sự kiện khác nhau tùy vào đặc thù của điều khiển Sự kiện được chia làm 3 nhóm chính Sự kiện đối với chuột MouseClick, MouseDown, MouseEnter… Sự kiện đối với bàn phím KeyUp, KeyDown.. Sự kiện khác TextChanged, FontChanged… Lập trình giao diện - Điều khiển & xử lý sự kiện 46
  • 47. Có 3 sự kiện chính của bàn phím KeyDown KeyPress KeyUp Khi một phím ký tự được nhấn thì các sự kiện xẩy ra theo trình tự KeyDown, KeyPress và KeyUp Khi một phím không phải ký tự được nhấn, chỉ có sự kiện KeyDown và KeyUp Sự kiện này sẽ được áp dụng cho điều khiển nào đang nhận được focus Sự kiện đối với bàn phím Có 3 sự kiện chính của bàn phím KeyDown KeyPress KeyUp Khi một phím ký tự được nhấn thì các sự kiện xẩy ra theo trình tự KeyDown, KeyPress và KeyUp Khi một phím không phải ký tự được nhấn, chỉ có sự kiện KeyDown và KeyUp Sự kiện này sẽ được áp dụng cho điều khiển nào đang nhận được focus Lập trình giao diện - Điều khiển & xử lý sự kiện 47
  • 48. Demo Sự kiện đối với bàn phím Lập trình giao diện - Điều khiển & xử lý sự kiện 48 private void button1_KeyPress(object sender, KeyPressEventArgs e) { MessageBox.Show("Button 1"); } private void button2_KeyPress(object sender, KeyPressEventArgs e) { MessageBox.Show("Button 2"); }
  • 49. Demo Sự kiện đối với bàn phím Lập trình giao diện - Điều khiển & xử lý sự kiện 49 Nhấn một phím bất kỳ khi Button 1 được focus Nhấn một phím bất kỳ khi Button 2 được focus
  • 50. Để gán một phương thức xử lý sự kiện cho một điều khiển, cần nối phương thức xử lý sự kiện cho sự kiện Mỗi phương thức xử lý sự kiện có thể nối cho nhiều sự kiện Xử lý sự kiện trong C# SỰ KIỆN PHƯƠNG THỨC XỬ LÝ SỰ KIỆN button1.Click private void button1_Click(object sender, EventArgs e) { } Để gán một phương thức xử lý sự kiện cho một điều khiển, cần nối phương thức xử lý sự kiện cho sự kiện Mỗi phương thức xử lý sự kiện có thể nối cho nhiều sự kiện Lập trình giao diện - Điều khiển & xử lý sự kiện 50 PHƯƠNG THỨC XỬ LÝ SỰ KIỆN button1.Click private void button1_Click(object sender, EventArgs e) { } this.button1.Click += new System.EventHandler(this.button1_Click); Mã này thuộc file Designer.cs, IDE tự sinh mã
  • 51. Demo nối một phương thức xử lý sự kiện với nhiều sự kiện //Viết mã cho xử lý sự kiện private void xoaTextBoxTong(object sender, EventArgs e){ txtTong.Text = ""; } 2 1 Lập trình giao diện - Điều khiển & xử lý sự kiện 51 Gán phương thức xử lý sự kiện cho các TextBox Số kiện hàng và Số sách trong mỗi kiện this.txtSoKienHang.TextChanged += new System.EventHandler(this.xoaTextBoxTong); this.txtSoSach.TextChanged += new System.EventHandler(this.xoaTextBoxTong); Mã được IDE tự sinh 2 3
  • 52. Demo nối một phương thức xử lý sự kiện với nhiều sự kiện Lập trình giao diện - Điều khiển & xử lý sự kiện 52 Nhập vào Số kiện hàng và Số sách trong mỗi kiện Nhập vào Số kiện hàng thì giá trị trong TextBox Tổng số sách: được xóa
  • 53. Tìm hiểu các sự kiện hỗ trợ cho các điều khiển được học ngày hôm nay BÀI TẬP VỀ NHÀ Lập trình giao diện - Điều khiển & xử lý sự kiện 53
  • 54. .NET hỗ trợ rất nhiều điều khiển để thực thi hầu như các thao tác mong muốn, các điều khiển được gom vào các nhóm khác nhau tùy vào mục đích sử dụng Các điều khiển CheckListBox, ListView, ProgressBar, WebBrowser thuộc nhóm Common Các điều khiển ConTextMenu, StatusStrip và ToolStripContainer thuộc nhóm Menu&Toolbar Tổng kết bài học .NET hỗ trợ rất nhiều điều khiển để thực thi hầu như các thao tác mong muốn, các điều khiển được gom vào các nhóm khác nhau tùy vào mục đích sử dụng Các điều khiển CheckListBox, ListView, ProgressBar, WebBrowser thuộc nhóm Common Các điều khiển ConTextMenu, StatusStrip và ToolStripContainer thuộc nhóm Menu&Toolbar Lập trình giao diện - Điều khiển & xử lý sự kiện 54
  • 55. Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều khiển. Mỗi điều khiển được hỗ trợ một tập các sự kiện khác nhau tùy vào đặc thù của điều khiển Sự kiện được chia làm 3 nhóm chính: sự kiện đối với chuột, sự kiện đối với bàn phím và sự kiện khác Để gán một phương thức xử lý sự kiện cho một điều khiển, cần nối phương thức xử lý sự kiện cho sự kiện Mỗi phương thức sự kiện có thể nối cho nhiều sự kiện Tổng kết bài học Visual Studio cung cấp rất nhiều sự kiện cho mỗi điều khiển. Mỗi điều khiển được hỗ trợ một tập các sự kiện khác nhau tùy vào đặc thù của điều khiển Sự kiện được chia làm 3 nhóm chính: sự kiện đối với chuột, sự kiện đối với bàn phím và sự kiện khác Để gán một phương thức xử lý sự kiện cho một điều khiển, cần nối phương thức xử lý sự kiện cho sự kiện Mỗi phương thức sự kiện có thể nối cho nhiều sự kiện Lập trình giao diện - Điều khiển & xử lý sự kiện 55