Khi tạo mới project loại Windows Application, đối tượng mặc định tên Form1 có ba phần:-Form1.Designer.cs: tập tin ứng với giao diện -Form1.cs: tập tin chứa phần mã định nghĩa ra Form -Fo
Trang 1BÀI GIẢNG MÔN
Trang 2GIỚI THIỆU VỀ MICROSOFT NET
•Microsoft NET gồm 2 phần chính : Framework và Integrated Development Environment(IDE)
•Framework do hãng Microsoft tạo ra để tạo điều kiện thuận lợi cho sự phát triển các ứng dụng Nó được xem như là một thư viện chứa nhiều công nghệ của nhiều lĩnh vực hay là bộ khung, sườn để phát triển các phần mềm ứng dụng.
•IDE thì cung cấp một môi trường giúp chúng ta triển khai dễ dàng, và nhanh chóng các ứng dụng dựa trên nền tảng NET
Trang 31 Viết chương trình C# đầu tiên
Soạn thảo chương trình “Hello Wolrd”
1 Chọn File New Project
2 Chọn kiểu dự án là Visual C# Project Application Nhập vào tên dự án và đường dẫn Chọn nút OK
Trang 4Viết chương trình C# đầu tiên
Sau đó nhập nội dung lệnh vào hàm Main() như sau:
Trang 5Viết chương trình C# đầu tiên
Biên dịch và chạy chương trình “Hello Wolrd”
•Biên dịch chương trình trong Visual Studio.NET
Cách 1: Chọn Ctl+Shift+B hay Build build từ thực đơn Cách 2: Nhấn nút
•Chạy chương trình trong Visual Studio.NET
Cách 1: Nhấn Ctrl + F5 hay Debug Start Without Debugging từ thực đơn
Cách 2: Nhấn nút
Trang 62 Xuất nhập qua console
Để đọc một ký tự văn bản từ cửa sổ console, chúng ta dùng phương thức:
Console.Read(): giá trị trả về sẽ là kiểu string
Hai phương thức dùng để xuất chuỗi ký tự:
- Console.Write(): Viết một giá trị ra của sổ.
- Console.WriteLine(): Tương tự như trên nhưng
Trang 72 Xuất nhập qua console
Trang 83 Sử dụng chú thích
// Chú thích cho hàng đơn
/*…*/ Chú thích cho một khối lệnh.
Ví dụ
Trang 9•Kiểu_dữ_liệu là các kiểu dữ liệu như int, float…
•Định_danh là tên biến
Trang 104 Biến và hằng
Phạm vi hoạt động của biến:
Trong một phạm vi hoạt động không thể có hai biến cùng mang một tên trùng nhau
} // biến i ra khỏi phạm vi
for (int i = 9; i >= 0; i–)
Trang 114 Biến và hằng
Hằng(constant): là một biến nhưng giá trị không thể thay
đổi trong suốt thời gian thực thi chương trình
VÍ dụ:
const int a = 100;
Chú ý: Hằng bắt buộc phải được gán giá trị lúc khai báo
Khi đã được khởi gán thì không thể viết đè lên
Trang 125 Cấu trúc chương trình
-Không gian tên: tên project, chứa các đối tượng.
-Lớp: định nghĩa ra các đối tượng cụ thể bao gồm các thành phần dữ liệu và chức năng
Bổ-từ-truy-cập class Tên-lớp
-Thuộc tính: là các biến, các tham số hay hằng nội tại của một đối tượng
Bổ-từ-truy-cập Kiểu-dữ-liệu Tên-thuộc-tính;
-Phương thức: là các hàm được khai báo trong lớp đối tượng
Bổ-từ-truy-cập kiểu-trả-về Tên-phương-thức(Đối-số)
Trang 146 Kiểu dữ liệu cơ bản
Kiểu số nguyên:
Kiểu số thực dấu chấm động:
Kiểu logic
Int System.Int32 Số nguyên có dấu 32-bit -231:231-1
long System.Int64 Số nguyên có dấu 64-bit -263:263-1
Float System.Float 32-bit ±1.5 × 10-45 đến ±3.4 × 1038 Double System.Double 64-bit ±5.0 × 10-324 đến ±1.7 × 10308
bool System.Boolean true hoặc false
Trang 156 Kiểu dữ liệu cơ bản
Trang 178 Luồng điều khiển chương trình
Câu lệnh if
Cú pháp
if ( biểu thức)
lệnh 1 else
Trang 18Ví dụ
8 Luồng điều khiển chương trình
Câu lệnh switch
Trang 21}
While (i<=100)
8 Luồng điều khiển chương trình
Câu lệnh do…while
Trang 23- Lệnh continue: quay lại vòng lặp mà không cần thực hiện các lệnh còn lại trong vòng lặp.
- Lệnh break: thoát ra khỏi vòng lặp ngay lập tức
Ví dụ:
while (signal != "X")
{
if (signal == "A") {
Console.WriteLine("Lỗi, bỏ qua\n");
break;
}
if (signal == "0") {
Console.WriteLine("Bình thường \n");
continue;
} Console.WriteLine("{0}Tín hiệu tiếp tục!\n",signal); }
8 Luồng điều khiển chương trình
Câu lệnh continue và break
Trang 24Mang = new int[50];
Int[] Mang2 = new int[n];
- Có thể khởi gán giá trị cho mảng ngay khi khai báo
Trang 259 Mảng và thao tác trên mảng
Làm việc với mảng
-Tên_Mảng.Length: Trả về độ dài của mảng
-Array.Sort(Tên_Mảng): Thực hiện sắp xếp mảng theo
thứ tự tăng dần.
-Array.Reverse(Tên_Mảng): Đảo ngược vị trí các phần tử
trong mảng.
Trang 27string s2 = “Ha noi”;
10 Chuỗi và thao tác trên chuỗi
Khai báo chuỗi
Trang 28- Compare( st1, st2): So sánh hai chuỗi st1 với st2 và cho
int res = String Compare(str1, str2);
Console.WriteLine("Ket qua so sanh” +res.ToString());
10 Chuỗi và thao tác trên chuỗi
Các hàm xử lý chuỗi
Trang 29- Length: Trả về độ dài của chuỗi
string str = " Cac thao tac tren chuoi trong C# ";
int dodai = str.Length;
Console.WriteLine("\nDo dai cua chuoi = " + dodai);
- Concat(str1, str2): Nối chuỗi str2 sau chuỗi str1.
string s1 = " Chao mung cac ban";
Trang 30- Insert(n, str): Thêm chuỗi str sau n ký tự của chuỗi cần
Console.WriteLine("\nChuoi sau khi chen: " + str);
- Replace(str1, str2): Thay thế chuỗi str1 bằng chuỗi str2.
string s1 = "Chao mung cac ban den voi";
string s2 = "Dien dan CCI Group ";
Console.WriteLine("\nChuoi 1: \"" + s1 + "\"");
Console.WriteLine("\nChuoi 2: \"" + s2 + "\"");
s2 = s2.Replace(s2, s1);
Console.WriteLine("\nChuoi 2 sau khi thay the: " + s2);
10 Chuỗi và thao tác trên chuỗi
Các hàm xử lý chuỗi
Trang 31- Trim(): Xóa khoảng trắng thừa 2 bên chuỗi.
string str = " Cac thao tac tren chuoi trong C# ";
Console.WriteLine("\nChuoi ban dau: \"" + str + "\"");
str = str.Trim();
Console.WriteLine("\nChuoi sau xoa khoang trang 2 ben: \"" + str + "\"");
- str.ToUpper & str.ToLower: IN HOA & chữ thường chuỗi str.
string s1 = "Chao mung cac ban den voi";
string s2 = "Dien dan CCI Group ";
Console.WriteLine("\nChuoi 1: \"" + s1 + "\"");
Console.WriteLine("\nChuoi 2: \"" + s2 + "\"");
string Upper = s1.ToUpper();
string Lower = s2.ToLower();
Console.WriteLine("\nChuoi 1 - HOA: " + Upper);
Console.WriteLine("\nChuoi 2 - Thuong: " + Lower);
10 Chuỗi và thao tác trên chuỗi
Các hàm xử lý chuỗi
Trang 32Không gian tên
-System.Windows.Forms: Cung cấp các lớp dùng để xây dựng
ứng dụng Desktop
-System.Drawing: Cung cấp các chức năng cơ bản về đồ họa
(GDI) dùng để định dạng Control và Form
-System.Data: Cung cấp các lớp được dùng để trình bày hay thao tác dữ liệu không kết nối của kiến trúc ADO.NET
-System.Text: Cung cấp các lớp dùng để trình bày hay xử lý
chuỗi dữ liệu.S
Chương 2 Lập trình Windows Form
1 Giới thiệu
Trang 33Khi tạo mới project loại Windows Application, đối tượng mặc định tên Form1 có ba phần:
-Form1.Designer.cs: tập tin ứng với giao diện
-Form1.cs: tập tin chứa phần mã định nghĩa ra Form
-Form1.resx: được tạo ra khi định nghĩa phương thức, khai báo biến, biến cố cho các điều khiển trên Form
1 Giới thiệu
Thực đơn project
Trang 34-Thực đơn ProjectAdd Windows Form: Thêm mới Form vào Project Khi chọn thực đơn này, cửa sổ Add New Item xuất hiện
và mặc định chọn Windows Form, tên mặc định là Form với số thứ tự kế tiếp
1 Giới thiệu
Thực đơn project
Trang 35-Thực đơn ProjectAdd Class: Thêm mới lớp vào dự án, mặc định chọn vào Class và tên mặc định là Class với số thứ tự kế tiếp.
-Thực đơn ProjectAdd User Control: thêm mới một User Control vào project Khi chọn thực đơn này thì xuất hiện cửa
sổ Add New Item nhưng mặc định là chọn vào User Control
và tên mặc định là UserControl với số thứ tự kế tiếp
-Thực đơn ProjectAdd New Item: Khi chọn thực đơn
Project | Add New Item thì xuất hiện cửa sổ Add New Item
và tên mặc định là Class với số thứ tự kế tiếp
1 Giới thiệu
Thực đơn project
Trang 36-Thực đơn ProjectAdd Exsiting Item: Khi muốn thêm một đối
tượng đã có sẵn vào Project thì chọn vào thực đơn Add Existing
Item Cửa sổ Add Existing Item xuất hiện với tên mở rộng cho phép.
-Chú ý: Khi thêm một form phải chọn cả 3 file tương ứng với form.
1 Giới thiệu
Thực đơn project
Trang 37-Xóa đối tượng: trong cửa sổ Solution Explorer chọn tên của đối tượng, click chuột phải và chọn Delete hoặc nhấn phím Delete trên bàn phím.
-Cách ẩn / hiện cửa sổ Solution Explorer: Click nút trên thanh công cụ hoặc vào menu View Solution Explorer.
1 Giới thiệu
Thực đơn project
Trang 38-Xóa đối tượng: trong cửa sổ Solution Explorer chọn tên của đối tượng, click chuột phải và chọn Delete hoặc nhấn phím Delete trên bàn phím.
-Cách ẩn / hiện cửa sổ Solution Explorer: Click nút trên thanh công cụ hoặc vào menu View Solution Explorer.
1 Giới thiệu
Thực đơn project
Trang 39-Thanh công cụ (Toolbox) chứa các điều khiển để thiết kế Form
-Để ẩn hoặc hiển thị thanh công
cụ này lên màn hình, chọn biểu
tượng hay thực đơn View|
Toolbox
1 Giới thiệu
Thanh công cụ
Trang 40- MDI Form(Form cha): Cho phép trình bày các form khác
bên trong Để thiết lập Form là MDI Form thì chọn thuộc tính IsMdiContainer là giá trị true.
- Child Form (Form con): là Form sẽ nằm trong vùng làm
việc của MDI Form Để thiết lập Child Form thì phải khai báo thuộc tính MdiParent là tên MDI Form trong Project.
Ví dụ: Gọi Form2 khi click vào điều khiển nằm trên Form1 và Form2 là con của Form1
private void button1_Click(object sender, EventArgs e)
{
Form2 fr = new Form2();// Khai báo và khởi tạo Form 2
fr.MdiParent = this;//Khai báo MdiForm là Form hiện
Trang 41- Normal Form: Những form mở ra mà không nằm trong
Trang 42- Name: Tên của Form Không có hai Form có tên trùng
nhau trong cùng một project.
- Text: Chuỗi hiển thị trên thanh tiêu đề.
- ShowIcon: Cho phép ẩn hoặc hiện biểu tượng của Form.
- ShowInTaskbar: Cho phép hiển thị trên thanh Taskbar.
- Opacity: Cho phép làm trong suốt bề mặt Form.
- Icon: Cho phép chọn tập tin hình ảnh làm biểu tượng Form
- BackColor: Định dạng màu nền Form
- ForeColor: Định dạng màu mặc định cho các chuỗi trên
Trang 43- Phương thức Close: dùng để đóng Form
Ví dụ: Khi nhấn nút thoát trên Form thì đóng Form lại
private void button2_Click(object sender, EventArgs e) {
Trang 44Để ẩn/hiện các biến cố của Form: Trên thanh Properties chọn nút Event và các biến
cố sẽ xuất hiện như trong hình
Khi muốn khai báo cho biến cố nào thì Double Click vào tên biến cố đó thì sẽ xuất hiện cửa sổ cho phép nhập code cho biến cố
Một số biến cố hay dùng:
-Biến cố Load: Xảy ra trước khi Form
hiển thị lên màn hình
-FormClosed: Xảy ra khi Form đã đóng
-Biến cố FormClosing: Xảy ra khi Form
đang đóng
2 Form và các định dạng Form
Biến cố của Form
Trang 45Ví dụ: Khi Form đang đóng hiển thị thông báo “Bạn có thực sự muốn thoát không?” Nếu người dụng chọn Cancel thì không đóng form Nếu chọn OK thì đóng form
private void Chuong_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("Bạn có thực sự muốn thoát không?", "Chú ý", MessageBoxButtons.OKCancel) == DialogResult.Cancel)
Trang 46Mỗi điều khiển có các biến cố và thuộc tính khác nhau Tuy nhiên hầu hết các điều khiển đều có một số thuộc tính và biến cố sau:
3 Các điều khiển thông thường
Thuộc tính Ý nghĩa
BackColor Màu nền của điều khiển
ForeColor Màu chữ của chuỗi trình bày trên điều khiển
Text Chuỗi trình bày trên điều khiển
Visible Thuộc tính che giấu hay hiển thị điều khiển
Name Tên của điều khiển
Locked Khoá không cho di chuyển trên Form
Trang 473 Các điều khiển thông thường
Biến cố Ý nghĩa
Click Xảy ra khi người sử dụng nhấn chuột
MouseMove Xảy ra khi người sử dụng di chuyển chuột qua
vùng làm việc của điều khiển
MouseUp Xảy ra khi người sử dụng nhấn chuột xuống vùng
làm việc của điều khiển rồi nhả ra
MouseDown Xảy ra khi người sử dụng nhấn chuột xuống vùng
làm việc của điều khiển
Move Xảy ra khi di chuyển điều khiển bằng mã hay bởi
người sử dụng
Resize Xảy ra khi kích thước của điều khiển thay đổi
bằng mã chương trình hay bởi người sử dụng
Trang 48- Điều khiển Label: Cho phép trình bày thuộc tính dạng
tiêu đề, chú giải cho các điều khiển nhập liệu khác
Ngoài một số thuộc tính chung, điều khiển Label còn một số thuộc tính riêng sau:
3 Các điều khiển thông thường
Nhóm điều khiển Label
Thuộc tính Ý nghĩa
BorderStyle Kiểu đường viền của điều khiển
Font Kiểu và kích thước của chữ trình bày trên điều
khiển
TextAlign Canh lề chuỗi trình bày trên điều khiển
Trang 49- Điều khiển LinkLabel: cho phép người sử dụng trình
bày chuỗi và kích hoạt đến địa chỉ Internet hay Email.
Một số thuộc tính khác:
3 Các điều khiển thông thường
Nhóm điều khiển Label
Thuộc tính Ý nghĩa
BorderStyle Kiểu đường viền của điều khiển
Font Kiểu và kích thước của chữ trình bày trên
điều khiển
TextAlign Canh lề chuỗi trình bày trên điều khiển
LinkBehavior Trạng thái của liên kết, mặc định là
SystemDefault LinkColor Màu của liên kết
VisitedLinkColor Màu của liên kết sau khi đã chọn
Trang 50- Điều khiển LinkLabel có một số biến cố khác như:
3 Các điều khiển thông thường
Nhóm điều khiển Label
LinkClicked Xảy ra khi người sử dụng click trên điều
khiển
DoubleClick Xảy ra khi người sử dụng click hai lần liên
tiếp trên điều khiển
Trang 51Điều khiển TextBox: Cho phép nhập dữ liệu từ bàn phím
Một số thuộc tính của TextBox:
3 Các điều khiển thông thường
Nhóm điều khiển TextBox
Thuộc tính Ý nghĩa
CharacterCasing Định dạng chữ hoa, thương hoặc normal
Passwordchar Kí tự để thay thế các kí tự được nhập vào
ReadOnly Giá trị True chỉ cho phép đọc giá trị
Scollbar Cho phép ẩn/ hiện thanh trượt
TextAlign Canh lề chuỗi trình bày
WordWrap Tự động xuống dòng khi nhập dài hơn kích thước
điều khiển
Trang 52Điều khiển TextBox:
Một số biến cố của TextBox:
3 Các điều khiển thông thường
Nhóm điều khiển TextBox
Biến cố Ý nghĩa
MouseClick Xảy ra khi Click trên điều khiển
MouseDoubleClick Xảy ra khi Click đúp trên điều khiển
TextChanged Xảy ra khi chuỗi trên điều khiển thay đổi
Trang 53Điều khiển MaskedTextBox: Cho phép định dạng chuỗi dữ liệu nhập vào
Một số thuộc tính của MaskedTextBox:
3 Các điều khiển thông thường
Nhóm điều khiển TextBox
Thuộc tính Ý nghĩa
AsciiOnly Định dạng chuỗi nhập vào chỉ chấp nhận ký tự
ASCII
Mask Định dạng chuỗi nhập.
Passwordchar Kí tự để thay thế các kí tự được nhập vào
ReadOnly Giá trị True chỉ cho phép đọc giá trị
TextAlign Canh lề chuỗi trình bày
Trang 54Điều khiển MaskedTextBox:
Một số biến cố của MaskedTextBox:
3 Các điều khiển thông thường
Nhóm điều khiển TextBox
Biến cố Ý nghĩa
MouseClick Xảy ra khi Click trên điều khiển
MouseDoubleClick Xảy ra khi Click đúp trên điều khiển
MaskChanged Xảy ra khi định dạng chuỗi trên điều khiển thay đổi MaskInputRejected Xảy ra khi dữ liệu nhập vào điều khiển bị từ chối TextChanged Xảy ra khi chuỗi trên điều khiển thay đổi
Trang 55Cho phép người dùng click để điều khiển.
Một số thuộc tính của Button
3 Các điều khiển thông thường
Điều khiển Button
Thuộc tính Ý nghĩa
TextAlign Canh lề chuỗi trên button
Trang 56Cho phép người dùng click để điều khiển.
Một số biến cố của Button
3 Các điều khiển thông thường
Điều khiển Button
Thuộc tính Ý nghĩa
VisibleChanged Xảy ra khi thuộc tính Visible thay đổi giá trị
EnableChanged Xảy ra khi thuộc tính Enable thay đổi giá trị