SlideShare a Scribd company logo
1 of 29
Download to read offline
Lương Trần Hy Hiến 1/29
BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS – C#
1 Phần 1: Làm quen với ứng dụng Form
1.1 Bài tập mở đầu
1.1.1 Khởi tạo Project
Từ Visual Studio 2005/2008/2010 ta chọn File New Project.
Một hộp thoại xuất hiện, ta chọn Template là Windows Form Application.
Ứng dụng được tạo ra như sau:
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
http://www.hcmup.edu.vn
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 2/29
1.1.2 Ứng dụng mở đầu:
Project BaiTap01 gồm có thành phần Program.cs giống trong ứng dụng Console Application và còn
có một thành phần mới là Form1.cs đang ở chế độ Design với giao diện như sau:
Chú ý cửa sổ Toolbox chứa các công cụ để thiết kế:
Nếu không thấy cửa sổ này, ta chọn menu View Toolbox.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 3/29
1.1.3 Đổi tên form:
Click lên Form1 ở cửa sổ Design, quan sát trên cửa sổ Properties, ta thấy có thuộc tính Text, giá trị
mặc định là Form1, ta đổi thành BaiTap01.
Ta thấy thanh tiêu đề Form1 đổi sang BaiTap01.
1.1.4 Kéo thả các control từ Toolbox vào Form
Từ thanh Toolbox, kéo thả một Label bỏ vào Form, sau đó di chuyển chuột đến cửa sổ Properties,
chọn thuộc tính Text, đổi từ label1 sang Nhập n.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 4/29
Tiếp theo kéo thả một Textbox bỏ vào form.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 5/29
Trong cửa sổ Properties của textbox này, thuộc tính Name ta đổi từ textBox1 thành txtN.
Tương tự thêm vào form một label có thuộc tính Text đổi thành Tổng và một textbox có thuộc tính
Name đổi thành txtTong.
Tiếp theo, kéo một Button từ Toolbox và thả vào Form, đổi thuộc tính Name của button này là
btnTinh, text là Tính.
Kéo thả thêm một Button nữa tương tự trên, Name = btnThoat, Text = Thoát.
Đưa chuột về các góc của Form để thay đổi kích thước cửa sổ.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 6/29
1.1.5 Xử lý sự kiện click chuột lên button
Double click vào button Tính (btnTinh), một cửa sổ soạn thảo xuất hiện với nội dung như sau:
Chú ý: Cửa sổ này là Form1.cs tương ứng với Form1.cs[Design].
Phương thức btnTinh_Click được phát sinh do ta vừa double click vào btnTinh.
Ta định nghĩa cho lớp này như sau:
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 7/29
Tiếp theo ta xử lý sự kiện click chuột cho button btnThoat.
Quay lại Form1.cs[Design], double click lên button Thoát, Form1.cs có nội dung thay đổi như sau:
Ta xử lý cho sự kiện này như sau:
private void btnThoat_Click(object sender, EventArgs e)
{
Close();
}
Chạy thử chương trình (F5):
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 8/29
Nhập n = 4 và click vào button Tính. Kết quả xuất hiện ở txtTong:
Click vào button Thoát để kết nối chương trình.
1.2 Viết chương trình nhập vào 2 số a và b, cho biết số lớn nhất và nhỏ nhất trong 2 số a,b
với giao diện như sau
Hướng dẫn gợi ý: sử dụng cấu trúc If …Else
Mở rộng cho 3 số:
1.3 Nhập vào một số nguyên từ 0 đến 9, hiển thị bằng “chữ” các ký số trên, ví dụ:
- Nhập 1 “Một”
- Nhập 2 “Hai”
- Nhập 3 “Ba”
- ..
- Nhập 9 “Chín”
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 9/29
Hướng dẫn gợi ý: sử dụng cấu trúc switch … case
1.4 Nhập vào một số nguyên dương N, hiển thị bằng “chữ” số vừa nhập trên, ví dụ:
- Nhập 1 “Một”
- Nhập 12 “Mười hai”
- Nhập 123 “Một trăm hai mươi ba”
Hướng dẫn gợi ý: sử dụng cấu trúc switch … case
1.5 Viết chương trình nhập vào giá trị nguyên dương N, tính tổng
S = 1 + 2 + 3 +…+ N
với giao diện như sau:
Hướng dẫn gợi ý: sử dụng vòng lặp While, For
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 10/29
1.6 Viết chương trình nhập vào giá trị nguyên dương N, tính tổng
S = 1 + 2 + 3 +…+ N
với giao diện như sau
Tương tự tính tổng
- S = 1 + 3 + 5 + 7 +…+ (2N +1)
- S = 2 + 4 + 6 + 8 +…+ 2N.
1.7 Viết chương trình gồm 1 form trong đó có 1 button và 1 label hiển thị số lần nhấn
button đó.
1.8 Viết chương trình nhập vào giá trị nguyên dương N, và số thực X, tính tổng:
S = X + X2 + X3 + X4 +..+ XN
Tương tự tính tổng
- S = X + X3
+ X5
+ X5
+..+ X2N+1
- S = X2
+ X4
+ X6
+..+ X2N
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 11/29
1.9 Thiết kế giao diện và cài đặt chương trình như sau:
1.10 (BT có hướng dẫn) Máy tính đơn giản thực hiện các chức năng +, -, *, /.
MÁY TÍNH ĐƠN GIẢN1
Bước 1: Tạo Project, ghi tiêu đề form, icon form, ẩn nút Minimize, Maximize
1
Xử lý cho nút X: Sự kiện FormClosing()
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 12/29
Bước 2: Thiết kế màn hình và đặt tên như hình sau:
Trong đó các phím số đặt tên từ btn0 btn9.
Bước 3: Khai báo các biến cần thiết
• string chuoitam = ""; //Dùng để lưu giữ tạm giá trị của số nhập vào
• char toantu; //Dùng lưu kí hiệu toán tử của phép toán, vd: +, -, *, /
• double[] toanhang = new double[2];//Lưu 2 toán hạng (số hạng) của phép toán
• double ketqua; //Dùng lưu kết quả của phép toán
• int buoc = 1; //Dùng lưu giữ số bước thực hiện phép toán
//Khai báo biến
string chuoitam = "";
char toantu;
double[] toanhang = new double[2];
double ketqua;
int buoc = 1;
Bước 4: Viết hàm cho chung cho các phím số (0 9)
Đặt tên cho phím vừa bấm là b. Nếu b rỗng, kết thúc hàm. Ngoài ra chúng ta cũng loại trừ trường hợp
có rất nhiều số 0 đứng trước một số khác (ví dụ 000000001 chính là 1). Do đó b.Text == “0” &&
chuoitam.Length == 0 thì kết thúc hàm.
//Hàm bấm phím số
private void NumberButtons(object sender, EventArgs e)
{
Button b = sender as Button;
if ((b == null) || (b.Text == "0" && chuoitam.Length == 0)) return;
chuoitam += b.Text;
txtManHinh.Text = chuoitam;
}
Lưu ý: Cho tất cả các phím số gọi hàm này ứng với sự kiện click.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 13/29
Bước 5: Viết hàm xử lý cho nút +/- (dương/âm)
//Hàm xử lý cho nút +/- (dương/âm)
private void btnCongTru_Click(object sender, EventArgs e)
{
if (chuoitam.Contains('-'))
chuoitam = chuoitam.Replace("-", "");
else
chuoitam = "-" + chuoitam;
txtManHinh.Text = chuoitam;
}
Bước 6: Viết hàm xử lý cho phím .
//Hàm xử lý phím chấm
private void btnCham_Click(object sender, EventArgs e)
{
if (!chuoitam.Contains('.'))
{
chuoitam = chuoitam + ".";
txtManHinh.Text = chuoitam;
}
}
Bước 7: Viết hàm xử lý cho nút C
//Hàm xử lý nút C
private void btnC_Click(object sender, EventArgs e)
{
if (chuoitam.Length == 0)
{
buoc = 1;
toanhang[0] = toanhang[1] = 0.0;
toantu = ' ';
ketqua = 0.0;
}
else
chuoitam = "0";
txtManHinh.Text = chuoitam;
}
Bước 8: Viết hàm xử lý cho phím bằng2
2
Sinh viên tự hoàn chỉnh thêm cho trường hợp bấm nhiều dấu = liên tiếp.
//Hàm bấm phím số
private void btnBang_Click(object sender, EventArgs e)
{
if (chuoitam.Length != 0)
toanhang[1] = Double.Parse(chuoitam);
switch (toantu)
{
case '+': ketqua = toanhang[0] + toanhang[1]; break;
case '-': ketqua = toanhang[0] - toanhang[1]; break;
case '*': ketqua = toanhang[0] * toanhang[1]; break;
case '/': ketqua = toanhang[0] / toanhang[1]; break;
}
txtManHinh.Text = ketqua.ToString();
//Gán lại giá trị ban đầu
buoc = 1;
chuoitam = "";
}
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 14/29
Bước 9: Viết hàm xử lý các phím thực hiện phép toán3
1.11 Chương trình máy tính của Windows 7.
Thiết kế máy tính bỏ túi có các chức năng như hình bên.
Không cần thiết kế menu.
3
Sinh viên tự hoàn chỉnh thêm cho trường hợp bấm nhiều lần 1 toán tử.
//Hàm bấm phím số
private void Operations(object sender, EventArgs e)
{
Button b = sender as Button;
if(buoc == 1)
toantu = b.Text[0];//Lấy kí hiệu toán tử
if (chuoitam.Length == 0)
toanhang[buoc - 1] = ketqua;
else
toanhang[buoc - 1] = Double.Parse(chuoitam);
if (buoc == 2)
{
btnBang_Click(null, null);
toantu = b.Text[0];
toanhang[0] = ketqua;
buoc = 2;
}
else
{
txtManHinh.Text = toanhang[0].ToString();
buoc++;
}
chuoitam = "";
}
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 15/29
1.12 Viết chương trình tính tiền dịch vụ nha khoa với yêu cầu sau:
1. Khi chạy chương trình (F5) sẽ xuất hiện màn hình như trên, trong đó cấm thao tác trên tất cà các
đối tượng trừ đối tượng textbox lưu trữ tên khách hàng và nút thoát.
2. Nếu người dùng nhập tên khách hàng thì mới cho phép thao tác trên các control khác (trừ textbox
tổng cộng).
3. Nhấn vào nút “Tính tiền”, thực hiện tính tổng tiền theo lựa chọn của khách hàng và hiển thị thông
báo dạng “Khách hàng: XYZ cần trả số tiền ABC” với XYZ là tên nhập vào, ABC là số tiền cần
trả.
4. Nhấn vào nút “Xóa”: đưa màn hình trở lại trạng thái lúc khởi tạo.
5. Nhấn vào nút “Thoát”: Xuất hiện thông báo “Bạn muốn có đóng chương trình không?”
o Nếu người dùng chọn Yes, đóng chương trình.
o Nếu người dùng chọn No, trở lại chức năng trước đó.
1.13 Danh sách tên
1.1.6 Tạo Form theo mẫu:
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 16/29
1.1.7 Các thuộc tính:
1.1.7.1 Không cho phép resize form:
Property New Value
FormBorderStyle FixedSingle
Size 370, 225
Text Add Names
1.1.7.2 Các Control:
Control Type Property New Value
Button Name closeButton
Location 273, 16
Text Close
Button Name addButton
Location 16, 16
Text Add
Label Text Title
Label Text First Name
Location 132, 56
Label Text Last Name
Location 248, 56
TextBox Name firstTextBox
Location 132, 80
Text (blank)
TextBox Name lastTextBox
Location 248, 80
Text (blank)
ComboBox Name titleComboBox
Items Mr.;Mrs.;Ms.;Miss.;Dr.
Location 16, 80
MaxDropDownItems 4
Size 100,21
Text (blank)
ListBox Name namesListBox
Location 16, 112
Size 336, 69
1.1.8 Các sự kiện:
1.1.8.1 Sự kiện cho nút Close:
private void closeButton_Click(object sender, EventArgs e)
{
this.Close();//thêm code này
}
1.1.8.2 Sự kiện cho nút Add:
private void addButton_Click(object sender, EventArgs e)
{
//add the following code
string first = firstTextBox.Text;
string title = titleComboBox.Text;
string last = lastTextBox.Text;
string nameToAdd = title + " " + first + " " + last;
namesListBox.Items.Add(nameToAdd);
}
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 17/29
1.1.9 Kết quả chương trình:
Ghi chú: Bài tập này sinh viên tự thực hiện
1.14 Xây dựng chương trình ứng dụng: Danh mục món ăn
1.15 Tạo ứng dụng WinForm
Thiết kế giao diện như hình sau:
• Đặt lại thuộc tính và tên cho form.
• Đặt lại thuộc tính và tên cho các control trên form.
1.16 Đăng ký và xử lý sự kiện Button “Thêm”
- Thêm một item mới vào List_Thucdon:
List_Thucdon.Items.Add(txt_Mon.Text);
ListBox
List_Thucdo
n
List_Chon
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 18/29
- Sau khi thêm xong thì clear txt_Mon
txt_Mon.Text = "";
1.17 Đăng ký và xử lý sự kiện cho Button
- Thêm một item được chọn trong List_Thucdon vào List_Chon
List_Chon.Items.Add(List_Thucdon.SelectedItem);
- Tuy nhiên, sẽ xảy ra trường hợp một item được add nhiều lần. Vì vậy, phải kiểm
tra xem trong List_Chon đã tồn tại item đó hay chưa?
1.18 Tương tự, đăng ký và xử lý sự kiện cho Button
o Sử dụng vòng lặp để duyệt tất cả các item trong ListBox
o ???
1.19 Đăng ký và xử lý sự kiện cho Button
- Xóa một item ra khỏi ListBox
List_Chon.Items.Remove(List_Chon.SelectedItem);
hoặc:
List_Chon.Items.RemoveAt(List_Chon.SelectedIndex);
- Xóa tất cả các item trong ListBox
List_Chon.Items.Clear();
1.20 Sercurity Panel
Xây dựng ứng dụng theo yêu cầu sau:
Một phòng lab muốn thiết lập một Sercurity Panel đặt bên ngoài cửa. Chỉ cho phép
những các cá nhân có trách nhiệm mới được vào và mỗi lần đăng nhập họ phải nhập các
sercurity code được cung cấp. Những sercurity code (hay còn gọi là access code) sau
được xem là hợp lệ và cung cấp cho các nhóm nhân viên như bảng sau:
Value Group
6990, 6999 Technicians
0100 Custodians
9998, 1006 – 1008 Scientist
Một khi nhập access code thì sẽ có hai trạng thái: granted hoặc denied. Tất cả thông
tin truy cập sẽ được hiển thị trong một khung thông tin bên dưới keypad. Nếu access là
granted thì ngày, thời gian, group (technician, custodian, scientist) sẽ được hiển thị ở khung
thông tin. Trường hợp access là denied thì ngày, giờ và thông tin “Access denied” sẽ hiển
thị ở khung bên dưới. Ngoài ra user nếu chỉ nhấn một con số sercurity code thì sẽ hiển thị
ra thông báo là ngày, giờ và “Restricted Access”.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 19/29
2 Phần 2: Làm quen với các control Toolbar, Menu
2.1 Chương trình đăng nhập
Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau
- Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra
o Nếu tên người dùng = “DHSP” và mật khẩu = “tinhoc” thì hiển thị
thông báo (MessageBox) “Đăng nhập thành công
o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu”
- Khi nhấn vào nút “Thoát” Kết thúc chương trình
- Mở rộng Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra
o Nếu tên người dùng = “DHSP” và mật khẩu = “tinhoc” thì
Ẩn màn hình “Đăng nhập”
Hiển thị màn hình chính với hình thức thể hiện như sau
o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu”
- Khi nhấn vào nút “Thoát” hiển thị thông báo “Bạn có muốn thoát chương trình
không ?”
o Nếu chọn “Yes” Kết thúc chương trình.
o Ngược lại: trở lại màn hình login.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 20/29
2.2 Viết chương trình quản lý học sinh với hệ thống menu và Toolbar như sau4
- Nhấn vào chức năng “Hệ thốngĐăng nhập” trong menu hoặc nút hình “Chùm khóa”
trên ToolBar, hiển thị màn hình login như trong bài tập 01.
- Nhấn vào chức năng “Quản lý học sinhThông tin học sinh” trong menu hoặc nút hình
“Mũ tốt nghiệp” trên ToolBar, hiển thị màn hình thông tin sinh viên như trong bài tập 03.
- Nhấn vào chức năng “Hệ thốngThoát”: Kết thúc chương trình
4
Sinh viên có thể dùng bài thiết kế này để làm Project Quản lý Sinh viên.
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 21/29
- Hệ thống Menu như sau:
- Hướng dẫn sử dụng
- Tác giả
Hệ thống thực đơn
Hệ thống Danh mục Quản lý học sinh Báo cáo thống kê Giúp đỡ
- Cấu hình hệ thống
- Quản lý người dùng
- Đăng nhập
- Đổi mật khẩu
- Thoát
- Danh mục giáo viên
- Danh mục quận huyện
- Danh mục loại hồ sơ
- Hồ sơ học sinh
- Phân lớp
- Xem điểm
- Điểm danh
- Khen thưởng
- Kỷ luật
- Thống kê danh sách học sinh
- Bảng điểm
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 22/29
3 Phần 3: Làm việc với file
Viết chương trình thể hiện thông tin sinh viên với giao diện như hình vẽ
- Nhấn vào nút “đọc dữ liệu từ file”: đọc dữ liệu từ tập tin “ThongTinSV.txt” với định
dạng như bên dưới đưa vào các control trên màn hình.
- Định dạng tập tin “ThongTinSV.txt”5
Họ và chữ lót: Nguyễn Văn
Tên: Thịnh
Ngày Sinh: 05/11/2005
Tôn giáo: Không
Địa chỉ: 123 Trương Định – Q3
Điện Thoại: 8234567
Email: nvthinh@hcmup.edu.vn
Dân tộc: Kinh
Giới tính: Nam
Ngoại ngữ: Anh Văn, Pháp Văn
- Nhấn vào nút “Lưu dữ liệu xuống file”, ghi dữ liệu thông tin sinh viên trên màn
hình xuống tập tin “ThongTinSV.txt”
- Khi nhấn vào nút “Thoát” Kết thúc chương trình
4 Phần 4: Đồ họa GDI+
4.1 Sử dụng hộp thoại Font:
Thiết kế Form theo mẫu:
5
File này lưu cùng thư mục với chương trình chạy (exe).
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 23/29
Yêu cầu: Hiển thị hộp thoại màu (ColorDialog) để thay đổi màu nền, màu chữ.
4.2 Một số kiến thức:
Khái niệm cơ bản
1 đối tượng Graphics quản lý 1 bối cảnh đồ họa
Mỗi phương thức có nguồn gốc từ System.Windows.Forms.Form kế thừa 1 phương thức
virtual OnPaint.
Các đối số trong phương thức OnPaint bao gồm 1 đối tượng PaintEventArgs.
Graphics g = e.Graphics;
FONT
Khai báo thư viện: System.Drawing và System.Drawing.Text
4 lớp cơ bản liên quan đến đối tượng FONT: FontStyle, FontFamily,GraphicsUnit, Font
a. Hàm vẽ chuỗi:
void DrawString(string s, Font font, Brush brush, float x, float y);
void DrawString(string s, Font font, Brush brush, Point p);
b. Bút vẽ:
Pen(Color c);
Pen(Color c, float width);
Pen(Brush b);
Pen(Brush b, float width);
c. Chổi tô & Font Style:
SolidBrush: Chổi tô đặc với màu đã chọn.
SolidBrush(Color c);
FontStyle:
Thành phần Đặc tả
Bold Chữ in đậm
Italic Chữ in nghiêng
Regular Chữ bình thường
StrikeOut Chữ với đường gạch ngang thân
Underline Chữ gạch chân
FontStyle style = FontStyle.Bold;
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 24/29
Font(tên_font, cỡ);
Font(tên_font, cỡ, style);
d. Các hàm vẽ
Vẽ (rỗng): Draw____
Vẽ đường thẳng: DrawLine
Vẽ elip: DrawEllipse
Vẽ hình chữ nhật: DrawRectangles
…
Vẽ hình đặc: Fill____
Hàm tô hình chữ nhật:
void FillRectangle(Brush brush, int x, int y, int width, int height);
4.3 Bài tập vẽ hình
Thiết kế Form theo mẫu:
Sự kiện vẽ: Ấn chuột trái để lấy điểm đầu tiên, nhả phím chuột để xác định điểm cuối cùng. Sau đó
thực hiện vẽ và tô theo màu theo hình đã chọn trên khung vẽ.
Hướng dẫn:
//Các thuộc tính
private Color fill; //lưu trữ màu tô
private Color border; //lưu trữ màu nét vẽ
private bool mouse_is_down=false;
private Point start;
private Graphics g; //đối tượng đồ họa
//Sự kiện Form_Load
g = panel1.CreateGraphics();
border = Color.Black;
btn_border.BackColor = border;
fill = Color.Red;
btn_fill.BackColor = fill;
//Sự kiện Click chọn màu cho Border6
ColorDialog dl = new ColorDialog();
dl.FullOpen = true;
dl.AnyColor = true;
if (dl.ShowDialog() == DialogResult.OK)
{
6
SV tự cài đặt cho sự kiện click vào nút chọn màu cho màu tô (fill)
Panel
Button
FlatStyle: Flat
Name: btn_border
NumbericUpDown
Name: DoDayNetVe
Button
FlatStyle: Flat
Name: btn_fill
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 25/29
btn_border.BackColor = dl.Color;
border = dl.Color;
}
//Sự kiện nhấn chuột vào vùng vẽ (Panel_MouseDown)
mouse_is_down = true;
start = new Point(e.X, e.Y);
//Sự kiện nhả chuột vào vùng vẽ (Panel_MouseUp)
mouse_is_down = false;
//Sự kiện rê (di chuyển) chuột trong vùng vẽ (Panel_MouseMove)
if (mouse_is_down )
{
g.Clear(panel1.BackColor);
Point end = new Point(e.X, e.Y);
switch(comboBox1.SelectedIndex)
{ //line
case 0:
g.DrawLine(new Pen(border,(int)DoDayNetVe.Value),start, end);
break;
//empty ellipse.
case 1:
g.DrawEllipse(new Pen(border,(int)DoDayNetVe.Value), start.X,
start.Y,e.X-start.X,e.Y-start.Y);
break;
//filled ellipse
case 2:
{
g.DrawEllipse(new Pen(border,(int)DoDayNetVe.Value), start.X,
start.Y,e.X-start.X,e.Y-start.Y);
g.FillEllipse(new SolidBrush(fill),start.X, start.Y,e.X-
start.X,e.Y-start.Y);
break;
}
//empty rectangle
case 3:
g.DrawRectangle(new Pen(border,(int)DoDayNetVe.Value),
start.X, start.Y,e.X-start.X,e.Y-start.Y);
break;
//filled rectangle
case 4:
g.DrawRectangle(new Pen(border,(int)DoDayNetVe.Value),
start.X, start.Y,e.X-start.X,e.Y-start.Y);
g.FillRectangle(new SolidBrush(fill),start.X, start.Y,e.X-
start.X,e.Y-start.Y);
break;
default:
break;
}
}
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 26/29
5 Thiết kế chương trình tựa WordPad: RichTextEditor
5.1 Mục tiêu
• Phát triển ứng dụng Single Document Interface
• Làm quen với MenuStrip, ToolStrip, StatusStrip.
• Sử dụng các Common Dialog: OpenFileDialog, SaveFileDialog, ColorDialog…
• Sử dụng control RichTextBox.
5.2 Nội dung
Xây dựng một ứng dụng soạn thảo văn bản có các chức năng sau:
Nhóm chức năng cơ bản:
- Cho phép soạn thảo trên hai định dạng
o Cơ bản: text File (*.txt)
o Nâng cao: Rich Text Format (*.rtf)
- Cho phép định dạng các đoạn text
o Align: left, right và center.
o Format: bold, italic, underline
o Chọn font chữ
o Chọn màu chữ
o Chọn màu nền của document
- Chức năng Cut, Copy và Paste.
Nhóm chức năng nâng cao:
- Các chức năng như sau
o Open file: mở file RTF hoặc TXT
o Save file: lưu document
o New file: tạo mới document
o Chức năng chèn ảnh
o Chức năng chèn bullet
o Indent
o Zoom
o ...
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 27/29
Chi tiết các Menu:
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 28/29
5.3 Lưu ý:
- Sinh viên chỉ cần làm nhóm chức năng cơ bản là đạt yêu cầu
- Chức năng nâng cao tùy chọn, sinh viên khá giỏi nên làm.
5.4 Mở rộng:
Sinh viên có thể mở rộng bất cứ tính năng nào cho ứng dụng của mình, sự sáng tạo luôn được
đánh giá cao.
Hướng dẫn cơ bản:
Sinh viên tìm hiểu các thuộc tính cơ bản của RichTextBox control như:
- SelectionFont
- SelectionFont.Style: mô tả các kiểu chữ
o Gồm có các kiểu mô tả trong enumeration FontStyle như sau
- SelectionAlignment: thiết lập thuộc tính canh lề
o Gồm có các kiểu mô tả trong enumeration HorizontalAlignment như sau
- SelectionColor: thiết lập màu của text, sử dụng struct Color để mô tả màu
- BackColor: thiết lập màu nền cho document chứa text, sử dụng struct Color
Các phương thức của RichTextBox như:
- Cut(): cut đoạn text được chọn vào Clipboard
- Copy(): copy đoạn text được chọn vào Clipboard
- Paste(): dán đoạn text trong Clipboard vào document.
Hướng dẫn chức năng Bold trên ToolStrip:
Bài tập thực hành lập trình Windows Form với C#
Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 29/29
Sinh viên làm tương tự với các chức năng: Italic, Underline…
Hướng dẫn chức năng canh lề
Thiết lập thuộc tính canh lề trái cho RichTextBox tên rtbDoc
rtbDoc.SelectionAlignment = HorizontalAlignment.Left;
Hướng dẫn chức năng cut, copy và paste cho RichTextBox tên rtbDoc
rtbDoc.Cut(); // cut đoạn text được chọn vào clipboard
tương tự cho copy và paste
Hướng dẫn chức năng nâng cao Insert ảnh vào document: Sinh viên tự nghiên cứu đoạn code
sau:
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Bitmap File (*.bmp)| *.bmp"; //Mở rộng thêm
if (dlg.ShowDialog() == DialogResult.OK)
{
Image img = Image.FromFile(dlg.FileName);
Clipboard.SetDataObject(img);
DataFormats.Format df;
df = DataFormats.GetFormat(DataFormats.Bitmap);
if (this.rtbDoc.CanPaste(df))
rtbDoc.Paste(df);
}
---Chúc các bạn thành công---

More Related Content

What's hot

Huong dan-thuc-hanh-photoshop
Huong dan-thuc-hanh-photoshopHuong dan-thuc-hanh-photoshop
Huong dan-thuc-hanh-photoshopHieu Dang
 
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINT
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINTCÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINT
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINTthuc bui
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTTLy hai
 
Hệ thống quản lý rạp chiếu phim
Hệ thống quản lý          rạp chiếu phimHệ thống quản lý          rạp chiếu phim
Hệ thống quản lý rạp chiếu phimvennguyennoinho
 
chuong 1. co so logic
chuong 1. co so logicchuong 1. co so logic
chuong 1. co so logickikihoho
 
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows formsHarees Seni
 
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Đàm Tài Cap
 
Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++nataliej4
 
phân tích thiết kế hệ thống thông tin
phân tích thiết kế hệ thống thông tinphân tích thiết kế hệ thống thông tin
phân tích thiết kế hệ thống thông tinQuynh michelanh quynh
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềmLượng Võ Đại
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql. .
 
GIÁO TRÌNH MICROSOFT WORD 2016
GIÁO TRÌNH MICROSOFT WORD 2016GIÁO TRÌNH MICROSOFT WORD 2016
GIÁO TRÌNH MICROSOFT WORD 2016Tới Nguyễn
 
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
 
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN nataliej4
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)iwanttoit
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTMasterCode.vn
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệmNguyễn Phúc
 

What's hot (20)

Huong dan-thuc-hanh-photoshop
Huong dan-thuc-hanh-photoshopHuong dan-thuc-hanh-photoshop
Huong dan-thuc-hanh-photoshop
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINT
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINTCÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINT
CÁCH TRÌNH BÀY BÀI BÁO CÁO BẰNG POWERPOINT
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Phân tích và thiết kế HTTT
Phân tích và thiết kế HTTTPhân tích và thiết kế HTTT
Phân tích và thiết kế HTTT
 
Hệ thống quản lý rạp chiếu phim
Hệ thống quản lý          rạp chiếu phimHệ thống quản lý          rạp chiếu phim
Hệ thống quản lý rạp chiếu phim
 
Quy Hoach Dong
Quy Hoach DongQuy Hoach Dong
Quy Hoach Dong
 
chuong 1. co so logic
chuong 1. co so logicchuong 1. co so logic
chuong 1. co so logic
 
Chuong 3 windows forms
Chuong 3   windows formsChuong 3   windows forms
Chuong 3 windows forms
 
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
Hướng dẫn sử dụng Microsoft Project 2010 (Phần 2: Nhập dữ liệu)
 
Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++Đồ Án Quản Lý Bán Hàng bằng C++
Đồ Án Quản Lý Bán Hàng bằng C++
 
phân tích thiết kế hệ thống thông tin
phân tích thiết kế hệ thống thông tinphân tích thiết kế hệ thống thông tin
phân tích thiết kế hệ thống thông tin
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềm
 
Bai tap va loi giai sql
Bai tap va loi giai sqlBai tap va loi giai sql
Bai tap va loi giai sql
 
GIÁO TRÌNH MICROSOFT WORD 2016
GIÁO TRÌNH MICROSOFT WORD 2016GIÁO TRÌNH MICROSOFT WORD 2016
GIÁO TRÌNH MICROSOFT WORD 2016
 
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ự
 
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN
SỬ DỤNG PHẦN MỀM MAPLE ĐỂ GIẢI CÁC BÀI TOÁN VỀ NGUYÊN HÀM VÀ TÍCH PHÂN
 
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
Bai13-Cau truc du lieu va giai thuat - Cay (Tree)
 
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPTBài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
Bài 6: Bảo mật trong SQL SERVER 2008 - Giáo trình FPT
 
UML mô hình khái niệm
UML mô hình khái niệmUML mô hình khái niệm
UML mô hình khái niệm
 

Viewers also liked

Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...MasterCode.vn
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTMasterCode.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
 
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
 
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 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
 

Viewers also liked (6)

Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
Bài 3: Lập trình giao diện điều khiển & Xử lý sự kiện - Lập trình winform - G...
 
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPTBÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
BÀI 2: Thiết kế FORM và xử lý sự kiện - Giáo trình FPT
 
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
 
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...
 
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 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
 

Similar to Cs lab04 win-form assignment

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
 
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c#
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c# [Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c#
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c# Hoàng Trí Phan
 
Giaotrinh vb
Giaotrinh vbGiaotrinh vb
Giaotrinh vbzuzuzu123
 
Giao trinh thuc hanh - Delphi 7
Giao trinh thuc hanh - Delphi 7Giao trinh thuc hanh - Delphi 7
Giao trinh thuc hanh - Delphi 7vdlinh08
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016viethoang89
 
Hướng dẫn giao tiếp serial port sử dụng vb
Hướng dẫn giao tiếp serial port  sử dụng vbHướng dẫn giao tiếp serial port  sử dụng vb
Hướng dẫn giao tiếp serial port sử dụng vbCong Pho
 
Chuong vb.net
Chuong vb.netChuong vb.net
Chuong vb.netkienbom
 
COM1014 - Lab 01.docx
COM1014 - Lab 01.docxCOM1014 - Lab 01.docx
COM1014 - Lab 01.docxftpdata
 
De thi tin hoc tong hop tu nhieu nh
De thi tin hoc tong hop tu nhieu nhDe thi tin hoc tong hop tu nhieu nh
De thi tin hoc tong hop tu nhieu nhHạnh Ngọc
 
Bai tap lap trinh c
Bai tap lap trinh  cBai tap lap trinh  c
Bai tap lap trinh ctiểu minh
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocHồ Lợi
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlabPhạmThế Anh
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.commai_non
 
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vnPdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vnMasterCode.vn
 

Similar to Cs lab04 win-form assignment (20)

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
 
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c#
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c# [Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c#
[Top tailieu.com] bai tap nen tang va lap trinh huong doi tuong voi ngon ngu c#
 
Giaotrinh vb
Giaotrinh vbGiaotrinh vb
Giaotrinh vb
 
Chuong 1@ngon ngu c
Chuong 1@ngon ngu cChuong 1@ngon ngu c
Chuong 1@ngon ngu c
 
Giáo trình visual basic
Giáo trình visual basicGiáo trình visual basic
Giáo trình visual basic
 
Cơ bản về visual basic
Cơ bản về visual basicCơ bản về visual basic
Cơ bản về visual basic
 
Vb6 16 (12)
Vb6 16 (12)Vb6 16 (12)
Vb6 16 (12)
 
Giao trinh thuc hanh - Delphi 7
Giao trinh thuc hanh - Delphi 7Giao trinh thuc hanh - Delphi 7
Giao trinh thuc hanh - Delphi 7
 
Bai tap java_script-html-2016
Bai tap java_script-html-2016Bai tap java_script-html-2016
Bai tap java_script-html-2016
 
Bai tap-vb
Bai tap-vbBai tap-vb
Bai tap-vb
 
Hướng dẫn giao tiếp serial port sử dụng vb
Hướng dẫn giao tiếp serial port  sử dụng vbHướng dẫn giao tiếp serial port  sử dụng vb
Hướng dẫn giao tiếp serial port sử dụng vb
 
10 bai tap
10 bai tap10 bai tap
10 bai tap
 
Chuong vb.net
Chuong vb.netChuong vb.net
Chuong vb.net
 
COM1014 - Lab 01.docx
COM1014 - Lab 01.docxCOM1014 - Lab 01.docx
COM1014 - Lab 01.docx
 
De thi tin hoc tong hop tu nhieu nh
De thi tin hoc tong hop tu nhieu nhDe thi tin hoc tong hop tu nhieu nh
De thi tin hoc tong hop tu nhieu nh
 
Bai tap lap trinh c
Bai tap lap trinh  cBai tap lap trinh  c
Bai tap lap trinh c
 
Bai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hocBai tap thuc hanh nhap mon tin hoc
Bai tap thuc hanh nhap mon tin hoc
 
Vi du chi tiet giai thich lap trinh gui trong matlab
Vi du chi tiet  giai thich lap trinh gui trong matlabVi du chi tiet  giai thich lap trinh gui trong matlab
Vi du chi tiet giai thich lap trinh gui trong matlab
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vnPdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
Pdf bai tap_lap_trinh_win_form - mon_1-mastercode.vn
 

Recently uploaded

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢImyvh40253
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxhoangvubaongoc112011
 

Recently uploaded (20)

Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
TỔNG HỢP ĐỀ THI CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT MÔN NGỮ VĂN NĂM ...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢIPHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
PHƯƠNG THỨC VẬN TẢI ĐƯỜNG SẮT TRONG VẬN TẢI
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
 

Cs lab04 win-form assignment

  • 1. Lương Trần Hy Hiến 1/29 BÀI TẬP THỰC HÀNH LẬP TRÌNH WINDOWS – C# 1 Phần 1: Làm quen với ứng dụng Form 1.1 Bài tập mở đầu 1.1.1 Khởi tạo Project Từ Visual Studio 2005/2008/2010 ta chọn File New Project. Một hộp thoại xuất hiện, ta chọn Template là Windows Form Application. Ứng dụng được tạo ra như sau: BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN http://www.hcmup.edu.vn
  • 2. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 2/29 1.1.2 Ứng dụng mở đầu: Project BaiTap01 gồm có thành phần Program.cs giống trong ứng dụng Console Application và còn có một thành phần mới là Form1.cs đang ở chế độ Design với giao diện như sau: Chú ý cửa sổ Toolbox chứa các công cụ để thiết kế: Nếu không thấy cửa sổ này, ta chọn menu View Toolbox.
  • 3. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 3/29 1.1.3 Đổi tên form: Click lên Form1 ở cửa sổ Design, quan sát trên cửa sổ Properties, ta thấy có thuộc tính Text, giá trị mặc định là Form1, ta đổi thành BaiTap01. Ta thấy thanh tiêu đề Form1 đổi sang BaiTap01. 1.1.4 Kéo thả các control từ Toolbox vào Form Từ thanh Toolbox, kéo thả một Label bỏ vào Form, sau đó di chuyển chuột đến cửa sổ Properties, chọn thuộc tính Text, đổi từ label1 sang Nhập n.
  • 4. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 4/29 Tiếp theo kéo thả một Textbox bỏ vào form.
  • 5. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 5/29 Trong cửa sổ Properties của textbox này, thuộc tính Name ta đổi từ textBox1 thành txtN. Tương tự thêm vào form một label có thuộc tính Text đổi thành Tổng và một textbox có thuộc tính Name đổi thành txtTong. Tiếp theo, kéo một Button từ Toolbox và thả vào Form, đổi thuộc tính Name của button này là btnTinh, text là Tính. Kéo thả thêm một Button nữa tương tự trên, Name = btnThoat, Text = Thoát. Đưa chuột về các góc của Form để thay đổi kích thước cửa sổ.
  • 6. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 6/29 1.1.5 Xử lý sự kiện click chuột lên button Double click vào button Tính (btnTinh), một cửa sổ soạn thảo xuất hiện với nội dung như sau: Chú ý: Cửa sổ này là Form1.cs tương ứng với Form1.cs[Design]. Phương thức btnTinh_Click được phát sinh do ta vừa double click vào btnTinh. Ta định nghĩa cho lớp này như sau:
  • 7. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 7/29 Tiếp theo ta xử lý sự kiện click chuột cho button btnThoat. Quay lại Form1.cs[Design], double click lên button Thoát, Form1.cs có nội dung thay đổi như sau: Ta xử lý cho sự kiện này như sau: private void btnThoat_Click(object sender, EventArgs e) { Close(); } Chạy thử chương trình (F5):
  • 8. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 8/29 Nhập n = 4 và click vào button Tính. Kết quả xuất hiện ở txtTong: Click vào button Thoát để kết nối chương trình. 1.2 Viết chương trình nhập vào 2 số a và b, cho biết số lớn nhất và nhỏ nhất trong 2 số a,b với giao diện như sau Hướng dẫn gợi ý: sử dụng cấu trúc If …Else Mở rộng cho 3 số: 1.3 Nhập vào một số nguyên từ 0 đến 9, hiển thị bằng “chữ” các ký số trên, ví dụ: - Nhập 1 “Một” - Nhập 2 “Hai” - Nhập 3 “Ba” - .. - Nhập 9 “Chín”
  • 9. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 9/29 Hướng dẫn gợi ý: sử dụng cấu trúc switch … case 1.4 Nhập vào một số nguyên dương N, hiển thị bằng “chữ” số vừa nhập trên, ví dụ: - Nhập 1 “Một” - Nhập 12 “Mười hai” - Nhập 123 “Một trăm hai mươi ba” Hướng dẫn gợi ý: sử dụng cấu trúc switch … case 1.5 Viết chương trình nhập vào giá trị nguyên dương N, tính tổng S = 1 + 2 + 3 +…+ N với giao diện như sau: Hướng dẫn gợi ý: sử dụng vòng lặp While, For
  • 10. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 10/29 1.6 Viết chương trình nhập vào giá trị nguyên dương N, tính tổng S = 1 + 2 + 3 +…+ N với giao diện như sau Tương tự tính tổng - S = 1 + 3 + 5 + 7 +…+ (2N +1) - S = 2 + 4 + 6 + 8 +…+ 2N. 1.7 Viết chương trình gồm 1 form trong đó có 1 button và 1 label hiển thị số lần nhấn button đó. 1.8 Viết chương trình nhập vào giá trị nguyên dương N, và số thực X, tính tổng: S = X + X2 + X3 + X4 +..+ XN Tương tự tính tổng - S = X + X3 + X5 + X5 +..+ X2N+1 - S = X2 + X4 + X6 +..+ X2N
  • 11. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 11/29 1.9 Thiết kế giao diện và cài đặt chương trình như sau: 1.10 (BT có hướng dẫn) Máy tính đơn giản thực hiện các chức năng +, -, *, /. MÁY TÍNH ĐƠN GIẢN1 Bước 1: Tạo Project, ghi tiêu đề form, icon form, ẩn nút Minimize, Maximize 1 Xử lý cho nút X: Sự kiện FormClosing()
  • 12. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 12/29 Bước 2: Thiết kế màn hình và đặt tên như hình sau: Trong đó các phím số đặt tên từ btn0 btn9. Bước 3: Khai báo các biến cần thiết • string chuoitam = ""; //Dùng để lưu giữ tạm giá trị của số nhập vào • char toantu; //Dùng lưu kí hiệu toán tử của phép toán, vd: +, -, *, / • double[] toanhang = new double[2];//Lưu 2 toán hạng (số hạng) của phép toán • double ketqua; //Dùng lưu kết quả của phép toán • int buoc = 1; //Dùng lưu giữ số bước thực hiện phép toán //Khai báo biến string chuoitam = ""; char toantu; double[] toanhang = new double[2]; double ketqua; int buoc = 1; Bước 4: Viết hàm cho chung cho các phím số (0 9) Đặt tên cho phím vừa bấm là b. Nếu b rỗng, kết thúc hàm. Ngoài ra chúng ta cũng loại trừ trường hợp có rất nhiều số 0 đứng trước một số khác (ví dụ 000000001 chính là 1). Do đó b.Text == “0” && chuoitam.Length == 0 thì kết thúc hàm. //Hàm bấm phím số private void NumberButtons(object sender, EventArgs e) { Button b = sender as Button; if ((b == null) || (b.Text == "0" && chuoitam.Length == 0)) return; chuoitam += b.Text; txtManHinh.Text = chuoitam; } Lưu ý: Cho tất cả các phím số gọi hàm này ứng với sự kiện click.
  • 13. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 13/29 Bước 5: Viết hàm xử lý cho nút +/- (dương/âm) //Hàm xử lý cho nút +/- (dương/âm) private void btnCongTru_Click(object sender, EventArgs e) { if (chuoitam.Contains('-')) chuoitam = chuoitam.Replace("-", ""); else chuoitam = "-" + chuoitam; txtManHinh.Text = chuoitam; } Bước 6: Viết hàm xử lý cho phím . //Hàm xử lý phím chấm private void btnCham_Click(object sender, EventArgs e) { if (!chuoitam.Contains('.')) { chuoitam = chuoitam + "."; txtManHinh.Text = chuoitam; } } Bước 7: Viết hàm xử lý cho nút C //Hàm xử lý nút C private void btnC_Click(object sender, EventArgs e) { if (chuoitam.Length == 0) { buoc = 1; toanhang[0] = toanhang[1] = 0.0; toantu = ' '; ketqua = 0.0; } else chuoitam = "0"; txtManHinh.Text = chuoitam; } Bước 8: Viết hàm xử lý cho phím bằng2 2 Sinh viên tự hoàn chỉnh thêm cho trường hợp bấm nhiều dấu = liên tiếp. //Hàm bấm phím số private void btnBang_Click(object sender, EventArgs e) { if (chuoitam.Length != 0) toanhang[1] = Double.Parse(chuoitam); switch (toantu) { case '+': ketqua = toanhang[0] + toanhang[1]; break; case '-': ketqua = toanhang[0] - toanhang[1]; break; case '*': ketqua = toanhang[0] * toanhang[1]; break; case '/': ketqua = toanhang[0] / toanhang[1]; break; } txtManHinh.Text = ketqua.ToString(); //Gán lại giá trị ban đầu buoc = 1; chuoitam = ""; }
  • 14. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 14/29 Bước 9: Viết hàm xử lý các phím thực hiện phép toán3 1.11 Chương trình máy tính của Windows 7. Thiết kế máy tính bỏ túi có các chức năng như hình bên. Không cần thiết kế menu. 3 Sinh viên tự hoàn chỉnh thêm cho trường hợp bấm nhiều lần 1 toán tử. //Hàm bấm phím số private void Operations(object sender, EventArgs e) { Button b = sender as Button; if(buoc == 1) toantu = b.Text[0];//Lấy kí hiệu toán tử if (chuoitam.Length == 0) toanhang[buoc - 1] = ketqua; else toanhang[buoc - 1] = Double.Parse(chuoitam); if (buoc == 2) { btnBang_Click(null, null); toantu = b.Text[0]; toanhang[0] = ketqua; buoc = 2; } else { txtManHinh.Text = toanhang[0].ToString(); buoc++; } chuoitam = ""; }
  • 15. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 15/29 1.12 Viết chương trình tính tiền dịch vụ nha khoa với yêu cầu sau: 1. Khi chạy chương trình (F5) sẽ xuất hiện màn hình như trên, trong đó cấm thao tác trên tất cà các đối tượng trừ đối tượng textbox lưu trữ tên khách hàng và nút thoát. 2. Nếu người dùng nhập tên khách hàng thì mới cho phép thao tác trên các control khác (trừ textbox tổng cộng). 3. Nhấn vào nút “Tính tiền”, thực hiện tính tổng tiền theo lựa chọn của khách hàng và hiển thị thông báo dạng “Khách hàng: XYZ cần trả số tiền ABC” với XYZ là tên nhập vào, ABC là số tiền cần trả. 4. Nhấn vào nút “Xóa”: đưa màn hình trở lại trạng thái lúc khởi tạo. 5. Nhấn vào nút “Thoát”: Xuất hiện thông báo “Bạn muốn có đóng chương trình không?” o Nếu người dùng chọn Yes, đóng chương trình. o Nếu người dùng chọn No, trở lại chức năng trước đó. 1.13 Danh sách tên 1.1.6 Tạo Form theo mẫu:
  • 16. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 16/29 1.1.7 Các thuộc tính: 1.1.7.1 Không cho phép resize form: Property New Value FormBorderStyle FixedSingle Size 370, 225 Text Add Names 1.1.7.2 Các Control: Control Type Property New Value Button Name closeButton Location 273, 16 Text Close Button Name addButton Location 16, 16 Text Add Label Text Title Label Text First Name Location 132, 56 Label Text Last Name Location 248, 56 TextBox Name firstTextBox Location 132, 80 Text (blank) TextBox Name lastTextBox Location 248, 80 Text (blank) ComboBox Name titleComboBox Items Mr.;Mrs.;Ms.;Miss.;Dr. Location 16, 80 MaxDropDownItems 4 Size 100,21 Text (blank) ListBox Name namesListBox Location 16, 112 Size 336, 69 1.1.8 Các sự kiện: 1.1.8.1 Sự kiện cho nút Close: private void closeButton_Click(object sender, EventArgs e) { this.Close();//thêm code này } 1.1.8.2 Sự kiện cho nút Add: private void addButton_Click(object sender, EventArgs e) { //add the following code string first = firstTextBox.Text; string title = titleComboBox.Text; string last = lastTextBox.Text; string nameToAdd = title + " " + first + " " + last; namesListBox.Items.Add(nameToAdd); }
  • 17. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 17/29 1.1.9 Kết quả chương trình: Ghi chú: Bài tập này sinh viên tự thực hiện 1.14 Xây dựng chương trình ứng dụng: Danh mục món ăn 1.15 Tạo ứng dụng WinForm Thiết kế giao diện như hình sau: • Đặt lại thuộc tính và tên cho form. • Đặt lại thuộc tính và tên cho các control trên form. 1.16 Đăng ký và xử lý sự kiện Button “Thêm” - Thêm một item mới vào List_Thucdon: List_Thucdon.Items.Add(txt_Mon.Text); ListBox List_Thucdo n List_Chon
  • 18. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 18/29 - Sau khi thêm xong thì clear txt_Mon txt_Mon.Text = ""; 1.17 Đăng ký và xử lý sự kiện cho Button - Thêm một item được chọn trong List_Thucdon vào List_Chon List_Chon.Items.Add(List_Thucdon.SelectedItem); - Tuy nhiên, sẽ xảy ra trường hợp một item được add nhiều lần. Vì vậy, phải kiểm tra xem trong List_Chon đã tồn tại item đó hay chưa? 1.18 Tương tự, đăng ký và xử lý sự kiện cho Button o Sử dụng vòng lặp để duyệt tất cả các item trong ListBox o ??? 1.19 Đăng ký và xử lý sự kiện cho Button - Xóa một item ra khỏi ListBox List_Chon.Items.Remove(List_Chon.SelectedItem); hoặc: List_Chon.Items.RemoveAt(List_Chon.SelectedIndex); - Xóa tất cả các item trong ListBox List_Chon.Items.Clear(); 1.20 Sercurity Panel Xây dựng ứng dụng theo yêu cầu sau: Một phòng lab muốn thiết lập một Sercurity Panel đặt bên ngoài cửa. Chỉ cho phép những các cá nhân có trách nhiệm mới được vào và mỗi lần đăng nhập họ phải nhập các sercurity code được cung cấp. Những sercurity code (hay còn gọi là access code) sau được xem là hợp lệ và cung cấp cho các nhóm nhân viên như bảng sau: Value Group 6990, 6999 Technicians 0100 Custodians 9998, 1006 – 1008 Scientist Một khi nhập access code thì sẽ có hai trạng thái: granted hoặc denied. Tất cả thông tin truy cập sẽ được hiển thị trong một khung thông tin bên dưới keypad. Nếu access là granted thì ngày, thời gian, group (technician, custodian, scientist) sẽ được hiển thị ở khung thông tin. Trường hợp access là denied thì ngày, giờ và thông tin “Access denied” sẽ hiển thị ở khung bên dưới. Ngoài ra user nếu chỉ nhấn một con số sercurity code thì sẽ hiển thị ra thông báo là ngày, giờ và “Restricted Access”.
  • 19. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 19/29 2 Phần 2: Làm quen với các control Toolbar, Menu 2.1 Chương trình đăng nhập Viết chương trình thể hiện màn hình “Đăng nhập” (login) chương trình như sau - Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra o Nếu tên người dùng = “DHSP” và mật khẩu = “tinhoc” thì hiển thị thông báo (MessageBox) “Đăng nhập thành công o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu” - Khi nhấn vào nút “Thoát” Kết thúc chương trình - Mở rộng Khi nhấn vào nút “Đăng nhập”, thực hiện kiểm tra o Nếu tên người dùng = “DHSP” và mật khẩu = “tinhoc” thì Ẩn màn hình “Đăng nhập” Hiển thị màn hình chính với hình thức thể hiện như sau o Ngược lại: thông báo “Không đúng tên người dùng/mật khẩu” - Khi nhấn vào nút “Thoát” hiển thị thông báo “Bạn có muốn thoát chương trình không ?” o Nếu chọn “Yes” Kết thúc chương trình. o Ngược lại: trở lại màn hình login.
  • 20. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 20/29 2.2 Viết chương trình quản lý học sinh với hệ thống menu và Toolbar như sau4 - Nhấn vào chức năng “Hệ thốngĐăng nhập” trong menu hoặc nút hình “Chùm khóa” trên ToolBar, hiển thị màn hình login như trong bài tập 01. - Nhấn vào chức năng “Quản lý học sinhThông tin học sinh” trong menu hoặc nút hình “Mũ tốt nghiệp” trên ToolBar, hiển thị màn hình thông tin sinh viên như trong bài tập 03. - Nhấn vào chức năng “Hệ thốngThoát”: Kết thúc chương trình 4 Sinh viên có thể dùng bài thiết kế này để làm Project Quản lý Sinh viên.
  • 21. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 21/29 - Hệ thống Menu như sau: - Hướng dẫn sử dụng - Tác giả Hệ thống thực đơn Hệ thống Danh mục Quản lý học sinh Báo cáo thống kê Giúp đỡ - Cấu hình hệ thống - Quản lý người dùng - Đăng nhập - Đổi mật khẩu - Thoát - Danh mục giáo viên - Danh mục quận huyện - Danh mục loại hồ sơ - Hồ sơ học sinh - Phân lớp - Xem điểm - Điểm danh - Khen thưởng - Kỷ luật - Thống kê danh sách học sinh - Bảng điểm
  • 22. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 22/29 3 Phần 3: Làm việc với file Viết chương trình thể hiện thông tin sinh viên với giao diện như hình vẽ - Nhấn vào nút “đọc dữ liệu từ file”: đọc dữ liệu từ tập tin “ThongTinSV.txt” với định dạng như bên dưới đưa vào các control trên màn hình. - Định dạng tập tin “ThongTinSV.txt”5 Họ và chữ lót: Nguyễn Văn Tên: Thịnh Ngày Sinh: 05/11/2005 Tôn giáo: Không Địa chỉ: 123 Trương Định – Q3 Điện Thoại: 8234567 Email: nvthinh@hcmup.edu.vn Dân tộc: Kinh Giới tính: Nam Ngoại ngữ: Anh Văn, Pháp Văn - Nhấn vào nút “Lưu dữ liệu xuống file”, ghi dữ liệu thông tin sinh viên trên màn hình xuống tập tin “ThongTinSV.txt” - Khi nhấn vào nút “Thoát” Kết thúc chương trình 4 Phần 4: Đồ họa GDI+ 4.1 Sử dụng hộp thoại Font: Thiết kế Form theo mẫu: 5 File này lưu cùng thư mục với chương trình chạy (exe).
  • 23. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 23/29 Yêu cầu: Hiển thị hộp thoại màu (ColorDialog) để thay đổi màu nền, màu chữ. 4.2 Một số kiến thức: Khái niệm cơ bản 1 đối tượng Graphics quản lý 1 bối cảnh đồ họa Mỗi phương thức có nguồn gốc từ System.Windows.Forms.Form kế thừa 1 phương thức virtual OnPaint. Các đối số trong phương thức OnPaint bao gồm 1 đối tượng PaintEventArgs. Graphics g = e.Graphics; FONT Khai báo thư viện: System.Drawing và System.Drawing.Text 4 lớp cơ bản liên quan đến đối tượng FONT: FontStyle, FontFamily,GraphicsUnit, Font a. Hàm vẽ chuỗi: void DrawString(string s, Font font, Brush brush, float x, float y); void DrawString(string s, Font font, Brush brush, Point p); b. Bút vẽ: Pen(Color c); Pen(Color c, float width); Pen(Brush b); Pen(Brush b, float width); c. Chổi tô & Font Style: SolidBrush: Chổi tô đặc với màu đã chọn. SolidBrush(Color c); FontStyle: Thành phần Đặc tả Bold Chữ in đậm Italic Chữ in nghiêng Regular Chữ bình thường StrikeOut Chữ với đường gạch ngang thân Underline Chữ gạch chân FontStyle style = FontStyle.Bold;
  • 24. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 24/29 Font(tên_font, cỡ); Font(tên_font, cỡ, style); d. Các hàm vẽ Vẽ (rỗng): Draw____ Vẽ đường thẳng: DrawLine Vẽ elip: DrawEllipse Vẽ hình chữ nhật: DrawRectangles … Vẽ hình đặc: Fill____ Hàm tô hình chữ nhật: void FillRectangle(Brush brush, int x, int y, int width, int height); 4.3 Bài tập vẽ hình Thiết kế Form theo mẫu: Sự kiện vẽ: Ấn chuột trái để lấy điểm đầu tiên, nhả phím chuột để xác định điểm cuối cùng. Sau đó thực hiện vẽ và tô theo màu theo hình đã chọn trên khung vẽ. Hướng dẫn: //Các thuộc tính private Color fill; //lưu trữ màu tô private Color border; //lưu trữ màu nét vẽ private bool mouse_is_down=false; private Point start; private Graphics g; //đối tượng đồ họa //Sự kiện Form_Load g = panel1.CreateGraphics(); border = Color.Black; btn_border.BackColor = border; fill = Color.Red; btn_fill.BackColor = fill; //Sự kiện Click chọn màu cho Border6 ColorDialog dl = new ColorDialog(); dl.FullOpen = true; dl.AnyColor = true; if (dl.ShowDialog() == DialogResult.OK) { 6 SV tự cài đặt cho sự kiện click vào nút chọn màu cho màu tô (fill) Panel Button FlatStyle: Flat Name: btn_border NumbericUpDown Name: DoDayNetVe Button FlatStyle: Flat Name: btn_fill
  • 25. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 25/29 btn_border.BackColor = dl.Color; border = dl.Color; } //Sự kiện nhấn chuột vào vùng vẽ (Panel_MouseDown) mouse_is_down = true; start = new Point(e.X, e.Y); //Sự kiện nhả chuột vào vùng vẽ (Panel_MouseUp) mouse_is_down = false; //Sự kiện rê (di chuyển) chuột trong vùng vẽ (Panel_MouseMove) if (mouse_is_down ) { g.Clear(panel1.BackColor); Point end = new Point(e.X, e.Y); switch(comboBox1.SelectedIndex) { //line case 0: g.DrawLine(new Pen(border,(int)DoDayNetVe.Value),start, end); break; //empty ellipse. case 1: g.DrawEllipse(new Pen(border,(int)DoDayNetVe.Value), start.X, start.Y,e.X-start.X,e.Y-start.Y); break; //filled ellipse case 2: { g.DrawEllipse(new Pen(border,(int)DoDayNetVe.Value), start.X, start.Y,e.X-start.X,e.Y-start.Y); g.FillEllipse(new SolidBrush(fill),start.X, start.Y,e.X- start.X,e.Y-start.Y); break; } //empty rectangle case 3: g.DrawRectangle(new Pen(border,(int)DoDayNetVe.Value), start.X, start.Y,e.X-start.X,e.Y-start.Y); break; //filled rectangle case 4: g.DrawRectangle(new Pen(border,(int)DoDayNetVe.Value), start.X, start.Y,e.X-start.X,e.Y-start.Y); g.FillRectangle(new SolidBrush(fill),start.X, start.Y,e.X- start.X,e.Y-start.Y); break; default: break; } }
  • 26. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 26/29 5 Thiết kế chương trình tựa WordPad: RichTextEditor 5.1 Mục tiêu • Phát triển ứng dụng Single Document Interface • Làm quen với MenuStrip, ToolStrip, StatusStrip. • Sử dụng các Common Dialog: OpenFileDialog, SaveFileDialog, ColorDialog… • Sử dụng control RichTextBox. 5.2 Nội dung Xây dựng một ứng dụng soạn thảo văn bản có các chức năng sau: Nhóm chức năng cơ bản: - Cho phép soạn thảo trên hai định dạng o Cơ bản: text File (*.txt) o Nâng cao: Rich Text Format (*.rtf) - Cho phép định dạng các đoạn text o Align: left, right và center. o Format: bold, italic, underline o Chọn font chữ o Chọn màu chữ o Chọn màu nền của document - Chức năng Cut, Copy và Paste. Nhóm chức năng nâng cao: - Các chức năng như sau o Open file: mở file RTF hoặc TXT o Save file: lưu document o New file: tạo mới document o Chức năng chèn ảnh o Chức năng chèn bullet o Indent o Zoom o ...
  • 27. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 27/29 Chi tiết các Menu:
  • 28. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 28/29 5.3 Lưu ý: - Sinh viên chỉ cần làm nhóm chức năng cơ bản là đạt yêu cầu - Chức năng nâng cao tùy chọn, sinh viên khá giỏi nên làm. 5.4 Mở rộng: Sinh viên có thể mở rộng bất cứ tính năng nào cho ứng dụng của mình, sự sáng tạo luôn được đánh giá cao. Hướng dẫn cơ bản: Sinh viên tìm hiểu các thuộc tính cơ bản của RichTextBox control như: - SelectionFont - SelectionFont.Style: mô tả các kiểu chữ o Gồm có các kiểu mô tả trong enumeration FontStyle như sau - SelectionAlignment: thiết lập thuộc tính canh lề o Gồm có các kiểu mô tả trong enumeration HorizontalAlignment như sau - SelectionColor: thiết lập màu của text, sử dụng struct Color để mô tả màu - BackColor: thiết lập màu nền cho document chứa text, sử dụng struct Color Các phương thức của RichTextBox như: - Cut(): cut đoạn text được chọn vào Clipboard - Copy(): copy đoạn text được chọn vào Clipboard - Paste(): dán đoạn text trong Clipboard vào document. Hướng dẫn chức năng Bold trên ToolStrip:
  • 29. Bài tập thực hành lập trình Windows Form với C# Lương Trần Hy Hiến – hienlth@hcmup.edu.vn 29/29 Sinh viên làm tương tự với các chức năng: Italic, Underline… Hướng dẫn chức năng canh lề Thiết lập thuộc tính canh lề trái cho RichTextBox tên rtbDoc rtbDoc.SelectionAlignment = HorizontalAlignment.Left; Hướng dẫn chức năng cut, copy và paste cho RichTextBox tên rtbDoc rtbDoc.Cut(); // cut đoạn text được chọn vào clipboard tương tự cho copy và paste Hướng dẫn chức năng nâng cao Insert ảnh vào document: Sinh viên tự nghiên cứu đoạn code sau: OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "Bitmap File (*.bmp)| *.bmp"; //Mở rộng thêm if (dlg.ShowDialog() == DialogResult.OK) { Image img = Image.FromFile(dlg.FileName); Clipboard.SetDataObject(img); DataFormats.Format df; df = DataFormats.GetFormat(DataFormats.Bitmap); if (this.rtbDoc.CanPaste(df)) rtbDoc.Paste(df); } ---Chúc các bạn thành công---