Tải bản đầy đủ (.doc) (48 trang)

Học lập trình C căn bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.39 MB, 48 trang )

I.

Chương 1 : Hàm & toán tử trong C#
Một số hàm tốn thơng dụng trong C#

 Ở đây tơi chỉ đề cập một số hàm ta thường dùng trong thư viên method Math…()
chứa một số hàm toán hạng sau :
 Math.Abs(-14) : lấy trị tuyệt đối của -14 => KQ : 14
 Math.Cos(16) ,Math.Sin(16) : lấy cos ,sin của góc tính theo radian
 Math.Atan(): trả về góc có tiếp tuyến là số lượng quy định.
 Math.Atan2(): trả về góc có tiếp tuyến là thương của hai số quy định.
 Math. Ceiling:các số nguyên nhỏ nhất lớn hơn hoặc bằng với số quy định
Trả về.
 Math. DivRem(5,6);Tính thương của hai số và cũng trả về phần còn lại
trong một tham số đầu ra
 Math. Equals(4,4): Xác định xem hai trường hợp đối tượng đều bình đẳng.
(Thừa kế từ Object)
 Math. Exp(): trả về e nâng lên điện quy định.
 Math. Floor():các số nguyên lớn nhất nhỏ hơn hoặc bằng với số quy định
Trả về.
 Math. IEEERemainder(): Trả về phần còn lại do việc phân chia một số quy
định bởi một số quy định.
 Math.Sinh(): Trả về sin hyperbol của các góc độ quy định.
 Math. Truncate():Tính phần khơng thể thiếu của một số.
 Math.Tanh():Trả về tang hyperbol của các góc độ quy định.
 Math. Round():Làm tròn một giá trị cho các số nguyên gần nhất hoặc số
quy định của số thập phân.
 Math.Log(15,2) : lấy logarit cơ số 2 của 15
 Math.Log10(37): lấy logarit cơ số 10 của 37
 Math.Max(11 ,12) : lấy max = 12
 Math.Min(11, 12) : lấy min = 11


 Math.PI : số pi = 3,14....
 Math.Pow(2,4) : lấy 2 mũ 4 = 2^4 = 16 , nếu bình phương thì
Math.Pow(x,2) = x bình phương
 Math.Sqrt() lấy căn bậc hai , nhưng muốn lấy căn bậc 3 hay 4,....n ta dùng
Math.Pow(number, Doubel(1/n))
Lưu ý: phải dùng Doubel (1/n) chứ khơng phải là 1/n, vì 1/n sẽ được
hiểu là lấy phần ngun.
Danh sách hàm tốn học và mơ tả cách dùng đã có sẵn trong VS. Các bạn làm như sau để
tìm đến:
- Chọn: View --> Object Browser --> Cửa sổ mới hiện ra.
- Trong ơ tìm kiếm gõ System.Math*

Trang 1


EX:
private void Example_MathClassFunctions()
{
int i = 0;
i = Math.Pow(5, 5);
MessageBox.Show("5 to the power= " + i);
i = Math.Sqrt(5);
MessageBox.Show("squre root of 5= " + i);
i = Math.Round(5.68743);
MessageBox.Show("round figure of 5.68743= " + i);
i = Math.Min(4, 7);
MessageBox.Show("minimum value in 4 and 7= " + i);
double j = 0;
j = Math.Log(15);
MessageBox.Show("Log value of 15 = " + j);

j = Math.Sin(90);
MessageBox.Show("sin 90 = " + j);
int x = 511;
int y = 50;
int Value = 0;
int Remainder = 0;
Value = Math.DivRem(x, y, out Remainder);
MessageBox.Show("value is = " + Value + " and reminder is = " + Remainder);
Trang 2


}

II.

Các lệnh và toán tử trong C#

1. Vào ra dữ liệu trong C# (trong môi trường Console)
- C# hỗ trợ vào ra dữ liệu trong môi trường Console thông qua đối tượng Console.
Đối tượng này nằm trong thư viện (namespace) có tên: System.
- Để khai báo thư viện sử dụng dòng lệnh:
using System;
- Để xuất dữ liệu (ra – output) chúng ta sử dụng 2 phương thức:
Write: phương thức này cho phép in dữ liệu ra màn hình Console theo định dạng. Dữ
liệu có thể là các hằng số, các biến, các biểu thức.
Có tất cả 18 quá tải phương thức (overloadding method) để cho phép chúng ta có thể
thực hiện in ra giá trị của các kiểu hằng số, biến khác nhau.
Trong đó có hàm tổng và thường được sử dụng nhất là:
Cú pháp:
Console.Write(“chuỗi định dạng”,”danh sách các đối số”);

Trong đó:
“Chuỗi định dạng”: là chuỗi kí tự chỉ ra dạng hiển thị (trình bày của dữ liệu).
Chuỗi định dạng có thể là:
Các kí tự: kí tự số (0,2,3,4….9) hoặc các kí tự chữ ‘a’, ‘z’,’A’,’X’….’%’.
Các kí tự thốt (escape sequence): các kí tự thốt bắt đầu với dấu % hoặc dấu \. VD:
kí tự điều khiển xuống dịng là \n hoặc kí tự điều khiển nhẩy 1 Tab là \t.
Kí tự giữ chỗ (placeholder): các kí tự giữ chỗ này có dạng {n}. Trong đó n là số
nguyên chỉ ra số thứ tự của đối số.
“danh sách các đối số”: là danh sách các biến hoặc các hằng số hoặc các biểu thức
cách nhau bởi dấu phẩy (,). VD: -7, ‘a’, (a+b)*c, x…
VD: sử dụng lệnh Write để in ra giá trị tương ứng của các biến a, b, c và giá trị của
biểu thức (a+b)*c.
int a, b, c;
a = 3;
b = -5;
c = 9;
Console.Write("a = {0}, b = {1}, c = {2}, fx = {3}",a,b,c,(a+b)*c);
Chú ý:
Số lượng các placeholder trong chuỗi định dạng bằng với số lượng các đối số trong
danh sách các đối số.
Giá trị số của các placeholder bắt đầu được đánh số thứ tự từ 0.
Thứ tự của các đối số sẽ tương ứng với thứ tự của các placeholder.
* WriteLine: hàm thực hiện in dữ liệu và chuyển con trỏ đến dòng tiếp theo trên màn
hình Console.
- Hàm nhập dữ liệu (input): để nhập dữ liệu cho ứng dụng Console chúng ta có thể sử
dụng các hàm sau:
Read: hàm read cho phép đọc 1 số nguyên từ vùng đệm bàn phím trong ứng dụng
Console. Hàm này trả về 1 số nguyên.
Trang 3



ReadKey: hàm này cho phép đọc 1 phím từ bàn phím.
ReadLine: hàm này cho phép nhập 1 chuỗi kí tự.
Một số hàm liên quan đến quá trình nhập liệu khác:
Parse: hàm này thực hiện phân tích và chuyển đổi 1 kiểu dữ liệu thành một kiểu dữ
liệu khác.
VD1: để chuyển 1 chuỗi kí tự thành 1 số ngun thì dùng dịng lệnh.
int a;
a = int.Parse(Console.ReadLine());
VD2: để chuyển 1 chuỗi kí tự thành 1 số thực decimal thì dùng dịng lệnh.
decimal n;
n = decimal.Parse(Console.ReadLine());
Đối tượng Convert: là đối tượng cho phép biến đổi 1 kiểu dữ liệu bất kì thành 1 kiểu
dữ liệu khác. Đối tượng này chứa các phương thức tĩnh tương ứng cho việc chuyển
đổi các kiểu dữ liệu dữ liệu sang một kiểu dữ liệu nào đó. VD: để chuyển đổi sang số
nguyên chúng ta có thể dùng các hàm ToInt16, ToInt32, ToInt64, chuyển sang số thực
dùng các hàm ToFloat, ToDouble, ToDecimal…
VD:
a = Convert.ToInt32(Console.ReadLine());
2. Lệnh và các biểu thức
- Định nghĩa: lệnh là một nhóm logic các biến, các tốn tử và các từ khóa để thực hiện
1 cơng việc cụ thể nào đó.
VD: lệnh để khai báo 1 hằng số thực PI có giá trị bằng 3.14.
const float PI = 3.14f;
- Các lệnh trong C# đều kết thúc bởi dấu chấm phẩy (.
- Định nghĩa: khối lệnh (block) là một nhóm các câu lệnh thực hiện 1 nhiệm vụ cụ thể
nào đó. Các khối lệnh nằm trong cặp dấu { và }
VD: khối lệnh tính diện tích hình trịn.
{
float banKinh;

float dienTich;
Console.Write("Nhap ban kinh: ");
banKinh = float.Parse(Console.ReadLine());
dienTich = banKinh * banKinh * Math.PI;
Console.WriteLine("Dien tich: {0}", dienTich);
Console.ReadLine();
}
3. Các kiểu lệnh
Có 7 kiểu lệnh trong C#:
Trang 4


- Các lệnh lựa chọn (Selection Statements): là những lệnh tạo ra quyết định một đoạn
mã lệnh nào đó có được thực hiện hay ko dựa vào một điều kiện. Một số lệnh thuộc
nhóm này: if, switch.
- Các lệnh lặp (Iteration Statements): là cấu trúc lệnh giúp chúng ta thực hiện lặp đi
lặp lại một đoạn mã lệnh cho đến khi thỏa mãn một điều kiện nào đó. Các lệnh thuộc
nhóm này: for, foreach, do, while.
- Các lệnh nhảy (Jump Statements): là các lệnh giúp chúng ta chuyển luồng thực hiện
của chương trình (flow of program) từ một đoạn mã lệnh này sang một đoạn mã lệnh
khác. Các lệnh thuộc nhóm này: break, continue, return, goto, default, yield.
- Các lệnh xử lý ngoại lệ (Exception Handling Statements): là các lệnh được sử dụng
để kiểm sốt những tình huống ko mong muốn xảy ra trong ứng dụng của chúng ta và
làm cho ứng dụng hoạt động sai hoặc bị phá vỡ. Các lệnh thuộc nhóm này: try, catch,
finally, throw.
- Các lệnh được kiểm tra và ko được kiểm tra (Checked and UnChecked Statements):
những lệnh ko được kiểm tra là những lệnh sẽ được bỏ qua bởi trình quản lý code
(CLR) cịn những lệnh được kiểm tra là những lệnh sẽ được kiểm soát bởi CLR. Và
để chỉ ra những lệnh nào là được kiểm tra và ko được kiểm tra thì chúng ta sử dụng
các từ khóa tương ứng là: checked và unchecked. Mặc định các lệnh đều thuộc nhóm

checked.
- Các lệnh fixed: các lệnh fixed được sử dụng để chỉ ra cho GC (trình thu gom rác –
Garbage Collector) là sẽ bỏ qua việc thu hồi bộ nhớ được sử dụng bởi các đối tượng
trong đoạn lệnh fixed này. Các từ được sử dụng là: fixed và unsafe.
- Các lệnh khóa (Lock Statements): là các lệnh giúp cho việc khóa các đoạn code
quan trọng để đảm bảo rằng các tiến trình (process) hoặc các tuyến đoạn (thread) khác
có thể can thiệp vào bộ nhớ mà đang được sử dụng bởi đoạn lệnh nào đó. Các lệnh
này được sử dụng để đảm bảo tính bảo mật và chỉ hoạt động trên các kiểu dữ liệu
tham chiếu. Từ khóa được sử dụng là lock.
8. Các biểu thức
- Biểu thức (expression) là một sự kết hợp của các toán tử (operators) và các tốn
hạng (operands).
- Tốn tử là một kí hiệu để chỉ ra thao tác trên dữ liệu.
VD: + để chỉ ra thao tác tính tổng 2 số…
- Tốn hạng có thể là các hằng số, các biến hoặc các hàm.
VD: -7, x, Sin(PI/180)…
- Một số VD về biểu thức:
x+y
(x-y)/(x+y)
Sin(x*x)/2+5*y
- Để gán giá trị của một biểu thức vào một biến chúng ta sử dụng toán tử gán
(assignment operator). Cú pháp:
[tên biến] = [biểu thức];

Trang 5


9. Các kiểu tốn tử
Có 6 kiểu tốn tử:
- Tốn tử toán học (Arithmetic Operators): là các toán tử được sử dụng để thực hiện

các thao tác tính tốn tốn học ví dụ như: tính tổng, hiểu, tích, thương, lấy phần dư….
Một số các tốn tử tốn học:
+ : tính tổng
- : tính hiệu
* : tính tích
/ : tính thương
% : lấy phần dư của phép chia a cho b
- : toán tử âm.
- Toán tử quan hệ (Relational Operators): là những toán tử được sử dụng để kiểm tra
mối quan hệ giữa các toán hạng.
> : kiểm tra lớn hơn
< : kiểm tra nhỏ hơn
= = : kiểm tra bằng nhau
!= : kiểm tra khác nhau
>= : kiểm tra lớn hơn hoặc bằng
<= : kiểm tra nhỏ hơn hoặc bằng
- Toán tử logic (Logical Operators): là những toán tử được sử dụng để liên kết các
toán hạng, các biểu thức với nhau.
&& : toán tử VÀ.
|| : toán tử HOẶC.
! : toán tử PHỦ ĐỊNH.
- Các toán tử trên bit (Bitwise Operators): là các toán tử thực hiện các thao tác logic
trên bit.
& : và logic trên bit.
| : hoặc logic trên bit.
^ : toán tử lấy phần bù.
- Các toán tử tăng và giảm (Increment and Decrement Operators): các toán tử này
được sử dụng để tăng hoặc giảm giá trị của biến.
-- : giảm giá trị của biến xuống 1 đơn vị.
++ : tăng giá trị của biến lên 1 đơn vị.

- Toán tử gán (Assignment Operator): được sử dụng để gán giá trị của một hằng số
hoặc một biến hoặc 1 biểu thức cho một biến.
Toán tử gán sử dụng dấu =.
10. Chuyển đổi dữ liệu trong C#
- Trong quá trình xây dựng chương trình thì cần có sự chuyển đổi linh hoạt giữa các
loại dữ liệu được sử dụng trong chương trình.
- Sự chuyển đổi này có 2 loại:
o Chuyển đổi ngầm định (Implicit conversion): chuyển đổi ngầm định được sử dụng
trong trường hợp chúng ta chuyển dữ liệu từ một kiểu dữ liệu có phạm vi lưu trữ thấp
Trang 6


sang một kiểu dữ liệu có phạm vi lưu trữ lớn hơn.
VD: chuyển dữ liệu từ kiểu số nguyên sang kiểu số thực.
int x = -7;
float y = x; // implicit conversion.
o Chuyển đổi ép buộc - rõ ràng (Explicit conversion): kiểu chuyển đổi được sử dụng
trong trường hợp chúng ta muốn chuyển dữ liệu từ một kiểu dữ liệu có phạm vi lưu
trữ lớn hơn về một kiểu dữ liệu có phạm vi lưu trữ nhỏ hơn.
VD: chuyển dữ liệu từ kiểu số thực về số nguyên.
float x1 = -3.76f;
int x2 = (int)x1; // explicit conversion.
- Một hình thức chuyển đổi kiểu dữ liệu khác đó là chuyển đổi dữ liệu từ kiểu dữ liệu
tham trị sang kiểu dữ liệu tham chiếu và ngược lại.
o Nếu chúng ta chuyển từ kiểu dữ liệu tham trị sang tham chiếu thì gọi là Boxing.
Boxing ko sử dụng toán tử ép kiểu.
VD:
int n1 = -9; // value type.
object o1 = n1; // value type -> reference type: Boxing.
o Nếu chúng ta chuyển kiểu dữ liệu từ kiểu tham chiếu sang kiểu tham trị thì gọi là

UnBoxing. Để thực hiện UnBoxing thì phải ép kiểu.
VD:
int n1 = -9; // value type.
object o1 = n1; // value type -> reference type: Boxing.
int n2 = (int)o1; // reference type -> value type: UnBoxing.

Chương 2 : Các điều khiển cơ bản
Nội dung
Giới thiệu Form Label
TextBox Button
Các thuộc tính chung
Các sự kiện chung
Điều khiển sự kiện bàn phím
Điều khiển sự kiện chuột
Các điều khiển cơ bản khác

Giới thiệu
Một số điều kiển cơ bản
Form: Đối tượng cửa sổ của chương trình chứa các đối tượng khác.
Label: Đối tượng dùng để hiển thị văn bản và hình ảnh (người dùng không sửa
được).
TextBox: Đối tượng dùng để hiển thị và nhập dữ liệu từ bàn phím.
Button: Là nút ấn cho phép Click nó để thực hiện một chức năng.
CheckBox: Đối tượng cho phép chọn hoặc không chọn.

Trang 7


ListBox: Đối tượng cho phép xem và chọn dữ liệu từ các dòng.
ComboBox: Đối tượng cho phép chọn dữ liệu từ các dòng.

GroupBox: Đối tượng chứa các đối tượng khác.
Panel: Đối tượng chứa các đối tượng khác.

Form
Dùng để tạo giao diện cho chương trình
Thêm một Form mới
Chọn Project
->Add Windows Form
Chọn Windows Form
-> gõ tên Form -> Add

Các điều khiển của Form
Là các thành phần đồ hoạ như Label, TextBox,...
Mỗi điều khiển tạo ra các đối tượng cùng lớp Các đối tượng có các thuộc tính, các
sự kiện và các phương thức riêng.
Properties: Các thuộc tính mơ tả đối tượng.
Methods: Các phương thức thực hiện các chức năng của đối tượng.
Events: Các sự kiện sinh ra bởi sự chuyển động của bàn phím và con chuột, chi
tiết do người lập trình viết.

Các thuộc tính thường dùng
AcceptButton: Nút được click khi ấn phím Enter
CancelButton: Nút được click khi ấn phím Esc
BackgroundImage: Ảnh nền của Form
Font: Font hiển thị của Form và Font ngầm định của các đối tượng của Form.
FormBorderStyle: Kiểu đường viền của Form
None: Form khơng có đường viền
Fix...: Cố định kích thước khi chạy
Form Sizeable: Có thể thay đổi kích thước Form


Trang 8


ForeColor: Màu chữ của Form và màu chữ của các đối tượng của Form.
Text: Dòng văn bản hiển thị trên tiêu đề Form
MaximizeBox: Có/khơng nút phóng to
MinimizeBox: Có/khơng nút thu nhỏ
StartPosition: Ví trí bắt đầu khi chạy Form
CenterScreen: Nằm giữa màn hình
WindowState: Xác định trạng thái ban đầu Form
Close: Đóng Form và giải phóng các tài nguyên. Form đã đóng ko thể mở lại.
Hide: Ẩn Form và khơng giải phóng tài nguyên của Form.
Show: Hiển thị một Form đã ẩn.
Load: Xảy ra khi chạy Form (ngầm định khi nháy đúp chuột trong chế độ thiết
kế).
FormClosing: Xảy ra khi đóng Form.

Ví dụ đặt các thuộc tính của Form









Tạo một Form mới
Gõ dòng tiêu đề của Form
Đặt Form ở chế độ FixDialog

Cất nút phóng to
Cất nút thu nhỏ
Cho Form nằm giữa màn hình
Chèn một ảnh làm nền của Form
Chạy Form

Label
Đối tượng hiển thị văn bản kết hợp hình ảnh, Ko sửa được văn bản hiển thị
Các thuộc tính thường dùng
AutoSize: Tự thay đổi kích thước của đối tượng
Fonts: Font chữ của đối tượng
Label ForeColor: Màu chữ của đối tượng
Image: Ảnh của đối tượng
Text: Văn bản xuất hiện trên đối tượng.
TextAlign: Lề của văn bản.

TextBox
Đối tượng dùng để nhập dữ liệu từ bàn phím

Các thuộc tính thường dùng
Enabled: Có/khơng cho phép thao tác đối tượng
Multiline: Có/khơng cho phép nhập dữ liệu nhiều dịng (mặc định là Ko)
PasswordChar: Nhập ký tự làm mật khẩu
ReadOnly: Có/khơng cho phép sửa dữ liệu của đối tượng (mặc định là có)
Text: Văn bản nhập (hiển thị) của đối tượng.

Các sự kiện thường dùng
TextChanged: Xảy ra khi nhập hoặc xoá các ký tự (ngầm định khi nháy đúp
Trang 9



chuột trong chế độ thiết kế)
KeyDown: Xảy ra khi ấn một phím bất kỳ trên đối tượng.
KeyUp: Xảy ra khi thả một phím ấn trên đối tượng.
Chú ý: Dữ liệu nhập vào TextBox là văn bản do đó nếu thực hiện các phép
tốn số học, logic thì cần chuyển sang kiểu số.

Button
Đối tượng nút ấn cho phép thực hiện một chức năng
Có thể hiển thị hình ảnh kết hợp với văn bản

Các thuộc tính thường dùng
Text: Văn bản hiển thị trên đối tượng
Image: Hình ảnh hiển thị trên đối tượng

Các sự kiện thường dùng
Click: Xảy ra khi nhấn con trỏ chuột hoặc gõ Enter trên đối tượng
(ngầm định khi nháy đúp chuột trong chế độ thiết kế).

Ví dụ
Giải phương trình bậc nhất
Nhập hệ số a, hệ số b Chọn nút <Giải>
Kiểm tra dữ liệu nhập? Nếu không phải là số? Chuyển thành số a, b ? Nếu
a=0
Nếu b = 0 -> Vô số nghiêm
Nếu b != 0 -> Vô nghiệm
Nếu a !=0 -> x = -b/a

Chuyển dữ liệu từ xâu ký tự sang số
Chuyển không kiểm tra dữ liệu

Sử dụng hàm Convert: <num> = Convert.ToDouble(str)
double a = Convert.ToDouble(“123.45”);

Chuyển có kiểm tra dữ liệu
Sử dụng hàm TryParse của kiểu dữ liệu:
bool IsNumber = double.TryParse(str, out num)
IsNumber = true nếu đổi được
IsNumber = false nếu không đổi được

Chuyển dữ liệu từ số sang xâu
Sử dụng hàm Convert <str> = Convert.ToString(num)
string st = Convert.ToString(123);
Sử dụng hàm ToString() của đối tượng <obj>.Tostring()
int a =2; string s = a.ToString();

Hàm Message
Dùng để hiển thị một thông báo
Dùng để xác nhận một hành động

Trang 10


//hien thi thong bao – dang ham 7 co 4 tham so
MessageBox.Show("Giá trị nhập vào không phải là số !", "Thông
báo...", MessageBoxButtons.OK,
MessageBoxIcon.Information);
//Xac nhan hanh dong – dang ham 7 hoac dang ham 9
DialogResult myDialog;
myDialog = MessageBox.Show("Chắc chắn xoá dữ liệu khơng ?", "Thơng
báo...", MessageBoxButtons.YesNo,

MessageBoxIcon.Question);
if (myDialog == DialogResult.No) return;

Các thuộc tính chung
Các thuộc tính thường dùng
BackColor: Màu nền của đối tượng.
BackgroundImage: Ảnh nền của đối tượng
Cursor: Kiểu con trỏ chuột khi đưa con trỏ chuột vào đối tượng
Enabled: Có/khơng cho phép thao tác với đối tượng
Font: Font chữ của đối tượng
ForeColor: Màu chữ của đối tượng
TabIndex: Thứ tự ấn phím Tab để chuyển con trỏ đến đối tượng, Chọn biểu
tượng
Text: Dòng văn bản hiển thị trên đối tượng
TextAlign: Lề của dòng văn bản hiển thị trên đối tượng
Visible: Ần/hiện đối tượng
Anchor: Neo đối tượng so với các cạnh của đối tượng chứa
Dock: Cố định đối tượng trong đối tượng chứa Location: Ví trí của đối tượng
so với đối tượng chứa

Ví dụ về thuộc tính Anchor và Dock

Trang 11


Focus: Chuyển con trỏ đến đối tượng
Hide: Ẩn đối tượng
Show: Hiển thị đối tượng ẩn

Các sự kiện chung

Sự kiện của Form
KeyDown
KeyUp
KeyPress
MouseDown
MouseUp

Các sự kiện thường dùng
KeyDown: Xảy ra khi một phím được ấn trên đối tượng.
KeyUp: Xẩy ra khi một phím được thả trên đối tượng
KeyEventArg: Tham số cho sự kiện KeyDown và KeyUp.
KeyPress: Xảy ra khi ấn và thả một phím trên đối tượng.
KeyPressEventArg: Tham số cho sự kiện KeyPress
KeyPressEventArg: Là tham số của sự kiện KeyPress
KeyChar: Trả về ký tự của phím được ấn
Alt: Có/khơng phím Alt đã được ấn
Control: Có/khơng phím Control đã được ấn.
KeyEventArgs: Là tham số của các sự kiện KeyDown và KeyUp.
Shift: Có hay khơng phím Shift đã được ấn.
KeyCode: Trả về phím được ấn.
KeyValue: Trả về mã của phím được ấn

Ví dụ
Xây dựng Form cho phép gõ phím Enter hoặc các phím mủi tên để di chuyển con
trỏ giữa các TextBox
private void textBox2_KeyDown(object sender,
{
if ((e.KeyValue == 13) || (e.KeyValue == 40))
textBox3.Focus();
if (e.KeyValue == 38) textBox1.Focus();

}

KeyEventArgs

e)

Các sự kiện chuột
Các sự kiện thường dùng
MouseEnter: Xảy ra khi đưa con trỏ chuột vào vùng của đối tượng.
MouseLeave: Xảy ra khi đưa con trỏ chuột ra khỏi vùng của đối tượng.
MouseDown: Xảy ra khi ấn nút chuột trong khi con trỏ chuột đang nằm trong
vùng của đối tượng.
MouseUp: Xảy ra khi thả nút chuột trong khi con trỏ chuột đang nằm trong
vùng của đối tượng.
Trang 12


MouseMove: Xảy ra khi di chuyển con trỏ chuột trong vùng của đối tượng.
MouseEventArg: Là tham số của các sự kiện MouseUp, MouseDown,
và MouseMove
Button: Nút chuột đã ấn (left, right, middle or none).
Clicks: Số lần nút chuột được ấn.
X: Toạ độ tương đối x của con trỏ chuột.
Y: Toạ độ tương đối y của con trỏ chuột.

Bài tập: Viết chương trình hiển thị toạ độ
Viết CT nhập vào 3 cạnh của 1 tam giác, tính diện tích và chu vi.

GroupBox
Đối tượng dùng để chứa các đối tượng khác Mỗi đối tượng có tiêu đề

Thuộc tính thường dùng
Text: Văn bản hiển thị trên tieu đề GroupBox

Panel
Đối tượng dùng để chứa các đối tượng khác Mỗi đối tượng khơng tiêu đề
Thuộc tính thường dùng
BorderStyle: Đường viền của đối tượng (ngầm định là None)

CheckBox
Đối tượng cho phép chọn/không chọn giá trị, cho phép chọn đồng thời nhiều
đối tượng
Các thuộc tính thường dùng
Checked: Có/khơng đối tượng được chọn
Trang 13


Text: Văn bản hiển thị trên đối tượng

Các sự kiện thường dùng
CheckedChanged: Xảy ra khi chọn/không chọn đối tượng (ngầm định khi nháy
đúp chuột trong chế độ thiét kế)

RadioButton
Cho phép chọn/ko chọn giá trị, cho
phép chọn 1 đối tượng ở một thời điểm.
Để chọn nhiều đối tượng phải đặt các
điều khiển trong GroupBox hoặc Panel

Các thuộc tính thường dùng
Checked: Có/ko đối tượng được chọn

Text: Văn bản hiển thị trên đối tượng

Các sự kiện thường dùng
Click: Xẩy ra khi đối tượng được click.
CheckedChanged: Xảy ra khi chọn/
không chọn đối tượng (ngầm định khi nháy
đúp chuột trong chế độ thiết kế).

PictureBox
Đối tượng dùng để hiển thị hình ảnh (Bitmap, GIF, JPEG, Metafile, Icon)
Các thuộc tính thường dùng
Image: Ảnh hiển thị trong PictureBox.
SizeMode: Chế độ hiển thị ảnh
Normal:Đặt ảnh ở góc trên bên trái của đối tượng
CenterImage: Đặt ảnh ở giữa đối tượng
StretchImage: Thay đổi kích thước ảnh đúng với kích thước đối tượng in
PictureBox.
AutoSize: Thay đổi kích thước đối tượng PictureBox đúng với kích thước
ảnh.

Trang 14


Chương 3 Các điều kiển nâng cao
Nội dung
1
2
3
4
5

6
7
8
9

ListBox
CheckedListBox
ComboBox
TabControl
Menu
Toolbar
MDI Windows
TreeView
ListView

ListBox
1
2
3
4
5
6
1
2
3
4
5
6
7
8

9
10

Cho phép xem và chọn các dịng dữ liệu
Các thuộc tính thường dùng
Items: Mảng các dòng trong ListBox.
Items[0] = “Cat”
Items[1] = “Mouse”
MultiColumn: Có/khơng chia ListBox thành nhiều cột.
SelectedIndex: Trả về dịng hiện thời được chọn
Nếu chọn nhiều dịng thì trả về 1 giá trị tuỳ ý của các dịng được chọn.
Nếu khơng chọn thì trả về giá trị -1.
SelectedIndices: Trả về một mảng các chỉ số của các dòng được chọn.
SelectedItem: Trả về giá trị dòng được chọn.
SelectedItems: Trả về một mảng giá trị các dịng được chọn.
Sorted: Có/Khơng sắp xếp dữ liệu trong ListBox. Ngầm định là False.
SelectionMode: Xác định số lượng dòng được chọn của ListBox.
one: Một dòng
Multi: Nhiều dòng
GetSelected(index): Trả về True nếu dòng Index được chọn, ngược lại trả

1

vềfalse.
2
3
4
5
6
7

8

1

Add: Thêm một dịng vào ListBox
listBox1.Items.Add(“Cat”);
listtBox1.Items.Add(“Mouse”);
RemoveAt(row):Xố dịng ở vị trí row
listBox1.Items.RemoveAt(row);
Clear: Xố tất cả các dịng
listBox1.Items.Clear();

Sự kiện thường dùng

Trang 15


SelectedIndexChanged: Xảy ra khi chọn một dòng. Ngầm định khi nháy đúp ở
chế độ thiết kế.
2

Ví dụ
Xây dựng Form
private voidbtnAdd_Click(object sender, EventArgs e)
{
listBox1.Items.Add(txtInput.Text);
txtInput.Clear();
}
private voidbtnRemove_Click(object sender, EventArgs e)
{

int row=listBox1.SelectedIndex;
if (row != -1)
listBox1.Items.RemoveAt(row);
}
private voidbtnClear_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
}
1

Bài tập
1
Xây dựng Form cho phép di chuyển các dòng
giữa 2 ListBox
2
// neu click vao nut thi dong ben T  P
3
nguoc lai
1
2

CheckedListBoxe
3

Là sự mở rộng của ListBox bằng cách thêm CheckBox ở phía bên trái mỗi dịng
->Có thể chọn các dịng

Các thuộc tính thường dùng
1
CheckedItems: Mảng các giá trị của dòng được

đánh dấu Check.
2
CheckedIndices: Mảng các chỉ số dòng được đánh
dấu Check.

Phương thức thường dùng
3
GetItemChecked(index): Trả về true nếu dòng
được chọn.

Sự kiện thường dùng

Trang 16


4

ItemCheck: Xảy ra khi dịng được checked hoặc unchecked.

Ví dụ
1
Xây dựng Form khi đánh dấu check thì dịng được đưa sang ListBox bên phải, khi
bỏ dấu Check thì xố dịng trong ListBox bên phải
2
private void myCheckedListBox_Load(objectsender,EventArgs e)
{
checkedListBox1.Items.Add(“C++ HTP”);
}
private void checkedListBox1_ItemCheck(objectsender, ItemCheckEventArgse)
{

stringitem = checkedListBox1.SelectedItem.ToString();
//neu check vao dong nao thi xuat hien dong ben phai
if( e.NewValue == CheckState.Checked)
{
listBox1.Items.Add(item);
}
else
{
listBox1.Items.Remove(item);
}
}

Bài tập
1

Xây dựng form cho phép đánh dấu và chuyển các dòng giữa 2 CheckedListBox

Sự kiện cho nút Add của CheckedListBox
private void btnAdd_Click(objectsender, EventArgse)
{
for(inti = 0; i < checkedListBox1.Items.Count -1; i+
+)
{
if(checkedListBox1.GetItemChecked(i) == true)
{ // Adds Item i to checkedListBox2
stringitem = checkedListBox1.Items[i].ToString();
checkedListBox2.Items.Add(item);
// Removes Item i at checkedListBox1
checkedListBox1.Items.RemoveAt(i);
}

}
}

Trang 17


ComboBox
Là sự kết hợp của TextBox và ListBox

Các thuộc tính thường dùng
1
2
3
4

DropDownStyle: Xác định kiểu của ComboBox.
Simple: Chọn hoặc gõ giá trị
DropDown(ngầm định): Chọn hoặc gõ giá trị
DropDownList: Chỉ cho phép chọn giá trị.

1
2
3
4

Items: Mảng các dòng trong ComboBox
SelectedIndex: Chỉ số dịng được chọn. Nếu khơng chọn có giá trị -1.
SelectedItem: Giá trị dịng được chọn.
Sorted: Có/Khơng sắp xếp dữ liệu trong ComboBox. Ngầm định là false.


Sự kiện thường dùng
5

SelectedIndexChanged: Xảy ra khi chọn 1 dòng.

Các phương thức thường dùng
1
2
3
4
5
6
7

Add: Thêm một dịng vào ComboBox
comboBox1.Items.Add(“Cat”);
comboBox1.Items.Add(“Mouse”);
RemoveAt(row): Xố dịng ở vị trí row
comboBox1.Items.RemoveAt(row);
Clear: Xố tất cả các dịng trong ComboBox
comboBox1.Items.Clear();

Ví dụ
1

Xây dựng Form để lấy Font của hệ thống

private voidComboBox_Load(objectsender, EventArgse)
{
FontFamily[] ff = FontFamily.Families;

for(inti = 0; i cboFont.Items.Add(ff[i].Name);
for(int i = 8; i <= 72; i++)
cboSize.Items.Add(i);
}
private void cboFont_SelectedIndexChanged(objectsender,EventArgse)
{

Trang 18


if(cboFont.Text.Trim() == "") return;
lbDisplay.Font = new Font(cboFont.Text,lbDisplay.Font.Size);
}
private void cboSize_SelectedIndexChanged(objectsender,EventArgse)
{
if(cboSize.Text.Trim() == "") return;
lbDisplay.Font =newFont(lbDisplay.Font.Name,
(float)Convert.ToDouble(cboSize.Text));
}

Menu
Dùng để nhóm các lệnh cùng nhau
Menu có thể chứa
1
Menu ngang
2
Menu dọc
3
Menu con

4
Các biểu tượng
5
Các phím nóng
6
Các đường phân cách
….
Xây dựng menu
1
Kéo biểu tượng MenuStrip vào Form
Gõ các dòng cho menu
1
Đặt tên cho các dòng của menu
2
Chọn cửa sổ Properties và đặt
3
thuộc tính Name
4
Tên menu đặt bằng tiền tố mnu (ví dụ: mnuFile, mnuEdit)
5
Chèn hình ảnh cho các dòng của menu
6
Nháy chuột phải và chọn Set Image
7
Chọn Local Resource -> Import ->chọn hình ảnh
8
Đặt phím nóng cho các dịng của menu
9
Chọn cửa sổ Properties và đặt thuộc tính ShortCutKey
Các thuộc tính thường dùng

1
Name: Tên menu được dùng trong mã lệnh.
2
Checked: Có/Khơng dịng menu xuất hiện checked. Ngầm định là false.
3
ShortCutKey: Đặt phím nóng cho menu
4
ShowShortcut: Có/Khơng phím nóng hiển thị trên dòng menu. Ngầm định là
true.
5
Text:Xuất hiện trên dòng menu.
Sự kiện thường dùng
1
Click: Xảy ra khi một dòng của menu được click chuột hoặc ấn phím nóng. Ngầm
định khi nháy đúp chuột trong chế độ thiết kế.
Viết lệnh cho dòng của menu gọi một Form
Trang 19


2
3
4

<Tên lớp> <Tên form> = new <Tên lớp>;
<Tên Form>.Show();
<Ten Form>.ShowDialog();
Ví dụ:
Thiết kế menu

Menu ngữ cảnh

1
2
3
4
5

Menu hiển thị khi nháy chuột phải trên đối tượng của Form hoặc trên Form.
Thiết kế menu ngữ cảnh
Kéo điều khiển MenuContext vào form
Thiết kế các dòng menu ngữ cảnh giống như thiết kế menu
Hiển thị menu ngữ cảnh
Chọn đối tượng hoặc Form
Đặt thuộc tính ContextMenuStripcủa đối tượng được chọn là tên của menu ngữ
cảnh.

ToolBar
ToolBar dùng để chứa các biểu tượng của các chức năng thường được sử dụng trong
chương trình.
Xây dựng ToolBar
Kéo điều khiển ToolStripvào Form
Nháy chuột vào biểu tượng phải và chọn đối tượng tạo ToolBar
Button: Nút ấn
DropDownButton: Nút sổ xuống
Separator: Đường phân cách
Xây dựng ToolBar
1
Đặt tên cho các nút của ToolBar

Trang 20



2
3
4
5
6
7
8
9

Chọn cửa sổ Properties và đặt thuộc tính Name
Tên TooBar đặt bằng tiền tố tb (ví dụ: tbNew, tbOpen)
Chèn hình ảnh cho đối tượng của ToolBar
Nháy chuột phải và chọn Set Image
Chọn Local Resource -> Import -> chọn hình ảnh
Viết mã lệnh
Gọi từ menu: <tên menu>.PerformClick()
Gọi trực tiếp đối tượng

MDI Windows
Một ứng dụng MDI cho phép người dùng thao tác với nhiều cửa sổ ở một thời điểm.
1
SDI và MDI Forms

Ví dụ MDI Parent và MDI Child

Thuộc tính MDI Parent của Form
1
IsMdiContainer: Có/Khơng một Form là form MDI Parent. Ngầm định là False.
2

ActiveMdiChild: Trả về Form Child đang được kích hoạt.
Thuộc tính MDI Child
3
IsMdiChild: Có/Khơng Form là một MDI child (thuộc tính read-only).

Trang 21


4
5
1
2
3
4
5

MdiParent: Chi ra một MDI parent của Form
<Tên form>.MdiParent = this
Phương thức thường dùng
LayoutMdi: Xác định kiểu hiển thị của Form con trong MDI Form.
ArrangeIcons: Sắp xếp các biểu tượng dưới MDI
Cascade: Sắp xếp các cửa sổ chồng nhau
TileHorizontal: Sắp xếp cửa sổ theo chiều ngang
TileVertical: Sắp xếp cửa sổ theo chiều dọc
Các kiểu sắp xếp

Bài tập
Xây dựng một hệ soạn thảo văn bản theo dạng MDI Form.

Trang 22



TreeView
Hiển thị thông tin theo các nút (node)
Các nút cha có các nút con
Nút đầu tiên gọi là nút gốc
Ấn dấu [+] để mở nút
Ấn dấu [-] để thu gọn nút
Mỗi nút có hình ảnh kèm theo
Các thuộc tính thường dùng
1
CheckBoxes: Có/khơng xuất hiện các checkbox trên các node. Mặc định là False.
2
Checked: Có/khơng một Node được check (thuộc tínhCheckBoxesphải được đặt
làTrue)
3
ImageList: Chỉ ra danh sách ảnh hiển thị trên các node.
4
ImageList là một mảng các đối tượng ảnh.
5
Tạo danh sách ảnh ImageList bằng cách kéo điều kiển vào Form, nháy chuột
6
phải và chọn Choose Image để thêm các ảnh vào ImageList.
1
Nodes: Mảng các TreeNodes trong TreeView.
2
Nodes.Add: Bổ sung một node vào cây.
3
Nodes.Clear: Xố tồn bộ các node trên cây.
4

Nodes.Remove: Xoá một node trên cây và các node con của nó.
5
SelectedNode: Node hiện thời được chọn
6
FullPath: Chỉ ra đường dẫn đến node bắt đầu từ node gốc.
1
SelectedImageIndex: Chỉ ra chỉ số ảnh được hiển thị trên node khi node được
chọn.
2
ImageIndex: Chỉ ra chỉ số ảnh được hiển thị trên node khi node không được chọn
(deselected).

Trang 23


Text: Text hiển thị của Node.
FirstNode: Node con đầu tiên của node.
LastNode: Nodecon cuối cùng của node.
PrevNode: Node con trước node con hiện thời.
NextNode: Nodecon tiếp theo node hiện thời.
Các phương thức thường dùng
1
Collapse: Thu nhỏ các node con củanode.
2
Expand: Mở rộng các node con của node.
3
ExpandAll: Mở rộng tất cả các node con.
4
GetNodeCount: Trả về số lượng node con.
Các sự kiện thường dùng

5
AfterSelect: Xảy ra khi một node được chọn (ngầm định khi nháy đúp chuột ở chế
độ thiết kế).
6
BeforeExpand: Xẩy ra khi mở rộng một node
3
4
5
6
7

1
2
3
4
5
6
1
7

Ví dụ
Đặt tên các đối tượng
treeView1
txtInput
comboBox1
btnAddRoot
btnAddChild
btnDelete
Khai báo trong lớp:
private TreeNodecurrentNode;

Thiết lập thuộc tính ImageCollection cho đối tượng imageList1
Các sự kiện:
private voidAddTreeView_Load(object sender, EventArgs e)
{
treeView1.ImageList = imageList1;
comboBox1.Items.Add("Image1");
comboBox1.Items.Add("Image2");
comboBox1.SelectedIndex = 0;
}
private voidbtnAddRoot_Click(object sender, EventArgs e)
{
if (txtInput.Text.Trim() == "") return;
TreeNode childNode = new TreeNode();
childNode.Text = txtInput.Text;
childNode.ImageIndex = comboBox1.SelectedIndex;
treeView1.Nodes.Add(childNode);
}
private voidtreeView1_AfterSelect(object sender,TreeViewEventArgs e)
Trang 24


{
currentNode = e.Node;
}
private voidbtnAddChild_Click(object sender, EventArgs e)
{
if (txtInput.Text.Trim() == "") return;
TreeNode childNode = new TreeNode();
childNode.Text = txtInput.Text;
childNode.ImageIndex = comboBox1.SelectedIndex;

currentNode.Nodes.Add(childNode);
currentNode.ExpandAll();
}
private voidbtnDelete_Click(object sender, EventArgs e)
{
currentNode.Remove();
}

ListView
Dùng để hiển thị dữ liệu theo các dịng và các cột
1
Có thể chọn một hoặc nhiều dịng
2
Có thể hiển thị các biểu tượng theo các dịng
3
Ví dụ ListView hiển thị danh sách thư mục TP và các tệp
1
2
3
4
5
6
7
8
Các thuộc tính thường dùng
9
CheckBoxes: Có/ko các checkbox trên các dòng dữ liệu (ngầm định là False)
10
Columns: Các cột hiển thị trong chế độ Details.
11

FullRowSelect: chỉ định rằng mọi SubItems có được hightlighted cùng với Item
khi
12
được chọn hay khơng.
13
GridLines: Hiển thị lưới (chỉ hiển thị trong chế độ Details).
1
Items: Mảng các dòng (ListViewItems) trong ListView.
2
LargeImageList: Danh sách ảnh (ImageList) hiển thị trên ListView.
3
SmallImageList: Danh sách ảnh (ImageList)hiển thị trên ListView.
4
MultiSelect: Có/Khơng cho phép chọn nhiều dịng (ngầm định là True).
5
SelectedItems: Mảng các dòng được chọn.
Trang 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×