Tải bản đầy đủ (.pdf) (63 trang)

Hướng dẫn thực hành lập trình windows cơ 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 (2.36 MB, 63 trang )

Hướng dẫn thực hành - Lập trình Windows 1

Khối: Cao Đẳng và Trung C p
Năm 2011

Hướng dẫn:



Bài tập thực hành được chia làm nhiều Module
Mỗi Module được thiết kế cho thờỌ ỏượng là 3 tiết thực hành tại lớp với sự
hướng dẫn c a gi ng viên.




Tùy theo số tiết phân bổ, mỗi tu n h c có thể thực hiện nhiều Module.
Sinh viên ph i làm t t c

các bài tập trong các Module ở tu n tương ứng.

Những sỌnh vỌên chưa hòan t t ph n bài tập tại lớp có trách nhiệm tự làm
tiếp t c ở nhà.


Các bài có d u (*) là các bài tập nâng cao dành cho sinh viên khá gi i.

Trang 1/63


Hướng dẫn thực hành - Lập trình Windows 1



Module 1
Nội dung kiến thức thực hành:
+ Làm quen với ngôn ngữ C#
+ Tạo ứng d ng dạng Console
+ Một số thuộc tính, phương thức qua Console.

Bài 1:
M c đích:
Sử d ng các properties và methods c a các đốỌ tượng trong ứng d ng Console.
Yêu cầu:
Viết ứng d ng dạng Console xu t lời chào.
Yêu c u xu t ra lời chào sau:

Welcome to
C# 2010 Programming!
Programming by your name
Hướng dẫn:

+ Mở Microsoft Visual Studio 2010

Trang 2/63


Hướng dẫn thực hành - Lập trình Windows 1

Project tạo ra một file mặc định là: Program.cs có chứa một hàm Main()
namespace BaiTapLoiChao
{
class Program

{
static void Main(string[] args)
{
//VỌết code trong đây
}
}
}
+ Bạn sửa lạỌ hàm MaỌn() thành như sau.
namespace BaiTapLoiChao
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Welcome to ");
Console.WriteLine("C# 2010 Programming!");
Console.WriteLine("Programming by your name");
Console.ReadLine();
}
}
}
+ Chạy chương trình bằng cách nh n phím F5 được kết qu

mong muốn sau:

Bài 2:
M c đích:
Sử d ng các Properties và Methods c a các đối tượng trong ứng d ng Console
Kết hợp định dạng xu t dữ liệu.
Yêu cầu:


+ Rào các statement trong hàm Main c a bài 1 chuyển sang dạng
comment.
Trang 3/63


Hướng dẫn thực hành - Lập trình Windows 1

+ Viết lạỌ hàm MaỌn như sau:
static void Main(string[] args)
{
Console.WriteLine("{0}\n{1}", "Welcome to ", "C# 2010 Programming!");
Console.WriteLine( "Programming by your name" );
Console.ReadLine();
}

+

Chạy chương trình bằng cách nh n phím F5 được kết qu

mong muốn

Ỏhơng đổỌ như bàỌ tập 1:

Bài 3:
M c đích:
Sử d ng một số hàm toán h c và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.
Yêu cầu:


+ Tạo Project mới với tên là ThaoTacSo:
Khi chạy chương trình xu t ra yêu c u nhập vào hai số
qu

tổng c a hai số vừa nhập.

Xu t ra mà hình u c u có dạng:
Nhap So Thu Nhat A: ??
Nhap So Thu Hai B: ??
Tong cua ?? Va ?? La: ??
Ví d

xem hình :

Trang 4/63

từ bàn phím xu t ra kết


Hướng dẫn thực hành - Lập trình Windows 1

Hướng dẫn:

Hàm Main() viết code như sau:
int nSo1, nSo2, nTong=0;
Console.Clear();
Console.Write("{0}", "Nhap So thu nhat: ");
// read first number from user
nSo1 = Convert.ToInt32(Console.ReadLine());
Console.Write("Nhap So thu hai: ");

// read second number from user
nSo2 = Convert.ToInt32(Console.ReadLine());
nTong = nSo1 + nSo2;
Console.WriteLine("Tong cua " + nSo1 + " Va " + nSo2 + " La " + nTong);
Console.ReadLine();
+ Mở rộng ỏàm các phép tính cơ b n (cộng, trừ, nhân, chia)

Bài 4:
M c đích:
Sử d ng một số hàm toán h c và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.
Yêu cầu:

+ Tạo Project mới với tên là TinhDienTich:
+ Khi chạy chương trình xu t ra yêu c u nhập vào hai cạnh c a một tứ giác
vuông xu t ra kết qu

chu vi, diện tích….

Xem hình:

Trang 5/63


Hướng dẫn thực hành - Lập trình Windows 1

Bài 5:
M c đích:
Sử d ng một số hàm tốn h c và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.

Yêu cầu:

+ Tạo Project mới với tên là PhuongTrinhBac1:
+ Gi i và biện luận phương trình bậc 1 : ax+b=0
+ Sinh viên chú ý rằng phương trình có 3 trường hợp: vơ nghiệm, vơ số nghiệm
và có một nghiệm
+ xem hình để hiểu rõ yêu c u

Trang 6/63


Hướng dẫn thực hành - Lập trình Windows 1

Bài 6:
M c đích:
Sử d ng một số hàm tốn h c và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.( làm quen class Math)

Math.Pow(x,y) ỏ y xy
Math.Sqrt(x) ỏ y căn bậc 2 c a x
Math.Round(x,2) ỏàm tròn x tớỌ 2 đơn vị
Yêu cầu:

+ Tạo Project mới với tên là PhuongTrinhBac2:
+ Gi i và biện luận phương trình bậc 2 : ax2+bx+c=0
+ Sinh viên chú ý rằng phương trình có 5 trường hợp: vơ nghiệm, vơ số nghiệm
và có một nghiệm, có 2 nghiệm phân biệt, có 1 nghiệm kép
+ xem hình để hiểu rõ yêu c u

Trang 7/63



Hướng dẫn thực hành - Lập trình Windows 1

Bài 7:
M c đích:
Sử d ng một số hàm ỏượng giác và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.( tiếp t c làm quen với class Math)

Math.PI ỏ y số PI
Math.Sin(a) tính sỌn, vớỌ a ỏà radỌan
Math.Cos(a) tính Cos, vớỌ a ỏà radỌan
Math.Tan(a) tính Tan, vớỌ a ỏà radỌan
Yêu cầu:

+ Tạo Project mới với tên là CacHamLuongGiac:
+ Nhập 1 góc x. Tính và xu t sinx, cosx, tgx, cotgx.
+ Sinh viên chú ý rằng hàm ỏượng giác truyền vào là 1 số Radian, do đó các em ph i
đổi góc x ra radian, cơng thức đổỌ như sau a=x*PI/180
+ Xem hình để hiểu rõ yêu c u

GợỌ ý tính hàm sỌn:
double fx;
Console.Write("Nhap vao 1 goc: ");
fx = Convert.ToDouble(Console.ReadLine());
double rad = fx * Math.PI / 180;
Console.WriteLine("Sin({0})={1}",fx,Math.Sin(rad));

Trang 8/63



Hướng dẫn thực hành - Lập trình Windows 1

Bài 8:
M c đích:
Sử d ng một số hàm ỏượng giác và nhập dữ liệu từ bàn phím Kết hợp định dạng
xu t dữ liệu.( tiếp t c làm quen với class Math)
Yêu cầu:

+ Tạo Project mới với tên là ChuViDienTichTamGiac:
+Nhập cạnh a>0, b>0, c>0. Nếu a, b, c tạo thành tam giác thì hãy tính và xu t chu vi,
dỌện tích hình tam giác. Ngược ỏạỌ thơng báo “Khơng tạo thành tam gỌác”
HD: cv=a+b+c, p=cv/2 và dt=√

Bài 9(*):
M c đích:
Sử d ng hàm toán h c và nhập dữ liệu từ bàn phím Kết hợp định dạng xu t dữ
liệu.
Yêu cầu:

+ Tạo Project mới với tên là TinhTongChuoiSo:
+ Nhập x, n để tính tổng chuỗi số sau (làm trịn 3 chữ số):

��
� �, � = � + + + ⋯ +
!
!
�!





Bài 10(*):
M c đích:
Sử d ng hàm tốn h c và nhập dữ liệu từ bàn phím Kết hợp định dạng xu t dữ
liệu.
Yêu cầu:

+ Tạo Project mới với tên là SoGaSoCho:
+ Tìm số gà và số chó, biết:
Gợi ý:
Vừa gà vừa chó
X+Y = 6
Bó lại cho trịn
+
=
Ba mươỌ sáu con
Với
X

số
gà,
Y

số Chó
Một trăm chân chẵn
Trang 9/63


Hướng dẫn thực hành - Lập trình Windows 1


Module 2
Nội dung kiến thức thực hành:
+ Làm quen với ngôn ngữ C#
+ Tạo ứng d ng trên windows form.
M c đích:
Sử d ng các properties, methods và event c a các đốỌ tượng trong Windows
Form.

Bài 1:
Yêu Cầu
Thiết kế form như hình bên dưới

Viết lệnh để chương trình hoạt động như sau:
+ Người sử d ng sẽ nhập Password vào textbox , sau đó nh n nút “HỌễn Thị’
thì nội dung c a password sẽ được hiễn thị ra trên ỏabeỏ bên dưới
Hướng dẫn:

Trong sự kiện Click c a button “HỌễn Thị”, gõ vào câu ỏệnh sau
lblHienThi.Text = txtPassWord.Text;

+ Người sử d ng nh n nút “TỌếp” để xoá nộỌ dung textbox, ỏabeỏ và đặt con tr
vào texttbox password để người sử d ng nhập nội dung mới thuận lợi.
Hướng dẫn:

Trong sự kiện Click c a button “TỌếp”, gõ vào đoạn lệnh sau
lblHienThi.Text = "";
txtPassWord.Clear();
txtPassWord.Focus();


Trang 10/63


Hướng dẫn thực hành - Lập trình Windows 1

+ Nh p nút “Đóng” để kết thúc chương trình.
Hướng dẫn:

Trong sự kiện Click c a button “Đóng”, gõ vào câu ỏệnh sau
this.Close();
//hoặc Application.Exit();

Bài 2:
M c Đích:
Sử d ng các sự kiện (event) cơ b n trên Form
Yêu Cầu
Thiết kế form chỉ chứa 1 button (xem hình)

Khi form hiển thị, sẽ xu t ngay messageBox hiển thị lờỌ chào như sau

Và ỎhỌ người s

d ng Click và button hay vào form c ng sẽ xu t hiện các

message box hiể thị các thông báo tương ứng như :
Button was clicked.
Form was clicked.

Trang 11/63



Hướng dẫn thực hành - Lập trình Windows 1

Hướng Dẫn:
// sự kiện ỎhỌ Button được click

private void bntClickMe_Click( object sender, EventArgs e )
{
MessageBox.Show( "Button was clicked." );
}

// sự kiện khi load form
private void frmSimpleEvent_Load(object sender, EventArgs e)
{
MessageBox.Show("Hi , Welcome to C# 2010 programming!");
}

// sự kiện ỎhỌ form được Click
private void frmSimpleEvent _Click(object sender, EventArgs e)
{
MessageBox.Show("Form was clicked.");

}

Bài 3:
ThỌết Ỏế gỌao dỌện như hình sau:
lblHoTen
txtHo
txtTen
btnHo


btnHoTen

Trang 12/63


Hướng dẫn thực hành - Lập trình Windows 1

Viết lệnh để chương trình hoạt động như sau:






Nh n vào Button btnHo thì gán nội dung c a txtHo cho lblHoTen
Nh n vào Button btnTen thì gán nội dung c a txtTen cho lblHoTen
Nh n vào Button btnHoTen thì gán nội dung c a txtHo cộng với txtTen cho lblHoTen

Hướng dẫn: ỏbỏHoTen.Text = txtHo.Text + “ “ + txtTen.Text



Nh n Double click vào lblHoTen thì nội dung c a lblHoTen bị xố
Nh n vào btnKetThuc thỌ đóng chương trình

Bài 4:
M c Đích:
Sử d ng các control property và Layout trên Form
Yêu cầu:

Với giao diện c a bài 2, yêu c u sinh viên sử d ng thuộc tính Dock và
Anchor sao cho ỎhỌ người sử d ng resỌze Ỏích thước form, thì các đốỌ tượng trên
form vẫn được sắp xếp hợp lý, dễ nhìn.

Bài 5:
Yêu Cầu:

txtNhapTen

Thiết kế giao diện như hình bên dưới

chkBold
radRed

lblLapTrinh
Trang 13/63


Hướng dẫn thực hành - Lập trình Windows 1

Yêu cầu
1. khi Form load.
a. RadỌobutton Red được ch n mặc định
b. Con tr

xu t hiện ngay tại ô Nhập tên.

2. Khi gõ tên vào ô Nhập tên (gõ ký tự nào thì lable lập trình chạy song song cùng
giá trị trong ô nhập tên)
Hướng dẫn:

viết trong sự kiện

txtNhapTen_TextChanged(..)

private void txtNhapTen_TextChanged(object sender, EventArgs e)
{

lblLapTrinh.Text = txtNhapTen.Text
}

3. Nh n nút thoát hoặc Esc thì thốt chương trình.
4. Nh n RadỌobutton Red, Green.. thì đổi màu chữ trong ơ Lập trình bởi và ơ nhập
tên có màu tương ứng với Radiob utton phù hợp.
private void raddo_CheckedChanged(object sender, EventArgs e)
{
lblLapTrinh.ForeColor = Color.Red;
txtNhapTen.ForeColor = Color.Red;
}

5. Nh n các CheckBox chữ đậm, nghỌêng… thì đổi font chữ trong ơ Lập trình bởi và ơ
nhập tên tương ứng.
private void chkdam_CheckedChanged(object sender, EventArgs e)
{
lblLapTrinh.Font = new Font(lblLapTrinh.Font.Name, lblLapTrinh.Font.Size,
lblLapTrinh.Font.Style ^ FontStyle.Bold);
}

Bài 6:

Trang 14/63



Hướng dẫn thực hành - Lập trình Windows 1

Thiết kế giao diện như hình bên dưới

txtName

chkVisible

txtMessage
e

btnDisplay

radRed
btnClear
picSmall

picBig

Viết lệnh để chương trình hoạt động như sau:


btnExit
lblMessage

Khi form vừa load lên thì:
Con tr được đặt tại vị trí ơ Name
Hình CDRom lớn hiện ngược lại hình nh ẩn.

Hướng dẫn: hiệu chỉnh property Visible c a picSmall thành false (trong lúc thiết
kế)
Đưa ch ôt vào hình CDRom (lớn, nh ) hiện ỏên tooỏtỌp “CỏỌcỎ Me”



Hiệu chỉnh TabIndex sao cho hợp lý (Tham kh o hình vào Menu View\Tab Order)

Trang 15/63


Hướng dẫn thực hành - Lập trình Windows 1



Nh n vào Button Display hoặc phím Enter thì gán nội dung c a ô Name và Message
cho Label Message (lblMessage)

Hướng dẫn: lblMessage.Text = txtName.Text + " : " +
txtMessage.Text;


Nh n vào Button Clear thì xóa nội dung trong ơ Name và Message

Hướng dẫn:
txtMessage.Clear ();
txtName.Clear();


Nh n vào RadỌoButton (Red, Green …) thì đổi màu chữ trong ô Message thành màu

tương ứng.

Hướng dẫn: lblMessage.ForeColor = Color.Red;


n hiện Message (lblMessage) ph thuộc vào giá trị c a Check box (chkVisible)

Hướng dẫn: lblMessage.Visible = chkVisible.Checked;:
 Nh n vào Button Exit hoặc phím Esc thỌ đóng chương trình

This.Close();


Click chuột vào hình CDRom nào thì hình đó ẩn đỌ và hỌện hình CDRom khác lên

Hướng dẫn:
picBig.Visible = false;
picSmall.Visible = true;
 Khi chương trình chạy hịan chỉnh hãy hiệu chỉnh hai hình CDRom chồng lên nhau
sao cho đồng tâm.

Bài 7:
M c đích:
Kết hợp dử d ng component ToolTip trên các control
Yêu cầu

Trang 16/63


Hướng dẫn thực hành - Lập trình Windows 1


Yêu cầu:
1. KhỌ chương trình vừa thực thi.
a. Form được hiển thị giữa màn hình
b. Các đốỌ tượng được “neo” sao cho ỎhỌ ngườỌ dùng thay đổỌ Ỏích thước
form thì các đốỌ tượng được resỌze Ỏích thước sao cho “dễ nhìn”
c. pỌcTurnOn được hiển thị, pỌcTurnOff được ẩn ngay bên dưới picTurnOn.
KhỌ ngườỌ dùng đưa chuột vào picTurnOn sẽ xu t hiện tỌp “CỏỌcỎ me to
Turn OFF the LỌght!”, và ngược lại trên picTurnOFF.
Hướng dẫn: sử d ng component ToolTip

d. Hiện tên mặc định vào ô Name
e. Labỏe ngay bên dưới pictureBox hiển thị thông báo

“JacỎ. Turn Off the LỌght ,pỏease!”

Hướng dẫn:
private void FrmLightSwitcher_Load(object sender, EventArgs e)
{
txtName.Text = "Jack";
lblHienThi.Text = txtName.Text + " Turn Off the Light ,please!”";
}

2. KhỌ ngườỌ dùng CỏỌcỎ ỏên pỌcture nào thì pỌcture đó sẽ ph Ọ ẩn đỌ, pỌcture còn ỏạỌ
xu t hỌện. Đồng thờỌ thay đổỌ nộỌ dung trên ỏabeỏ phù hợp.
private void picTurnOn_Click(object sender, EventArgs e)
{
picTurnOn.Visible = false;
picTurnOFF.Visible = true;


lblHienThi.Text = txtName.Text + " Turn Off the Light ,please!”";

}
3. Nút ExỌt cho phép đóng ứng d ng

Bài 8:

Adding Controls Programmatically

M c đích:
Trang 17/63


Hướng dẫn thực hành - Lập trình Windows 1

Lập trình biến cố trên các đốỌ tượng được tạo động lúc thực thi(run time)
Yêu cầu
Thiết kế form gồm 2 button Add và Remove. KhỌ ngườỌ sử d ng CỏỌcỎ và button
Add, chương trình sẽ phát sỌnh động 1 button trên form (mỗỌ button ỏà một Eỏement thứ
n). KhỌ button Remove được CỏỌcỎ, thì button trên cùng sẽ được remove. (Có thể hình
dung đây ỏà một StacỎ). (xem hình)
KhỌ ngườỌ dùng CỏỌcỎ vào một Eỏement nào thì sẽ hỌển thị trang tháỌ c a Eỏement đó ỏên
một ỏabeỏ ở phía trên form. (xem hình)

Gợi ý:
Xem hướng dẫn thực hiện trong giáo trình

Bài 9:
M c đích:
Sử d ng các dỌaỏog được cung c p bởi C#.

Sử d ng RichTextBox
Yêu cầu
Ex1: Using Common Dialog Boxes

Trang 18/63


Hướng dẫn thực hành - Lập trình Windows 1

Gợi ý:
Xem hướng dẫn thực hiện trong giáo trình

Bài 10:
M c đích:
Sử d ng đốỌ tượng LinkLable liên kết đến một WebSite, mở ứng d ng
Yêu cầu:

Gợi ý:

Using LinkLabel Controls (page 456 )

Xem hướng dẫn thực hiện trong giáo trình

Bài 11:
M c đích:

Sử d ng GroupBox và Panel

Yêu cầu :


Using GroupBox and Panel Controls
Trang 19/63


Hướng dẫn thực hành - Lập trình Windows 1

Gợi ý:
Xem hướng dẫn thực hiện trong giáo trình

Bài 12:
M c đích:
Sử d ng ListBox, CheckListBox, Combobox
Yêu cầu
Step by Step
Ex1: Using ListBox and CheckedListBox Controls (page 477)

Ex2: Using ComboBox Controls

Trang 20/63


Hướng dẫn thực hành - Lập trình Windows 1

Gợi ý:
Xem hướng dẫn thực hiện trong giáo trình

Trang 21/63


Hướng dẫn thực hành - Lập trình Windows 1


Bài 13:
M c đích:
Thao tác dữ liệu số trên Listbox
Yêu cầu
ThỌết Ỏế form và thực hỌện các chức năng sau:

KhỌ ngườỌ sử d ng nhập một số vào textbox rồỌ Enter hoặc nh p vào nút cập nhật thì số này
được thêm vào ỏỌstbox, đồng thờỌ nộỌ dung trong textbox bị xóa và focus được chuyển về
textbox.
NgườỌ dùng nh n vào nút nào thì thực hỌện chức năng tương ứng c a nút đó.

Gợi ý:
Lưu ý thuộc tính AcceptButton của form
Ph n tử đ u tỌên trong danh sách có Index = 0

Trang 22/63


Hướng dẫn thực hành - Lập trình Windows 1

Bài 14:
M c đích:

Yêu cầu
ThỌết Ỏế form và thực hỌện các chức năng sau

-

Quy định form hỌễn thị gỌữa màn hình. Khơng cho ngườỌ sử d ng thay đổỌ Ỏích thước

form.

-

Quy định vỌệc dỌ chuyển Tab hợp ỏý.

-

Các LỌstBox được phép ch n nhỌều m c (Ỏết hợp gỌữa phím ShỌft, Controỏ và chuột)

-

KhỌ ngườỌ sử d ng CỏỌcỎ nút “Cập nhật” hoặc nh n phím Enter thì mặt định nhập tên
sinh viên từ textbox vào danh sách ỏớp A (Ỏhông ch p nhận dữ ỏỌệu rỗng). Theo đó
ngườỌ sử d ng có thể ch n ỏớp để cập nhật từ combobox ỏớp.

-

Các nút “>” và “<” ỎhỌ được CỏỌcỎ sẽ dỌ chuyển t t c các m c đang ch n sang
LỌstBox bên ỎỌa tương ứng.

-

Các nút “>>” và “<<” ỎhỌ được CỏỌcỎ sẽ di chuyển toàn các m c sang LỌstbox bên kia
tương ứng.

-

Nút ỏệnh “Xóa ỏớp A”, “Xóa ỏớp B” cho phép xóa các m c đang ch n trong ỏỌst hỌện hành.


Trang 23/63


Hướng dẫn thực hành - Lập trình Windows 1

Bài 15:
M c đích:
Sử d ng các control c a Visual Studio
Yêu cầu
Step by step
Ex1: Using DomainUpDown and NumericUpDown Controls

Ex2: The MonthCalendar and DateTimePicker Controls

Ex3:The Timer, TrackBar, and ProgressBar Controls

Trang 24/63


Hướng dẫn thực hành - Lập trình Windows 1

Ex4: Using TabControl Controls

Gợi ý:
Xem hướng dẫn thực hiện trong giáo trình (Page 491)

Bài 16:
M c đích:
Xây dựng hệ thống menu : MainMenu và ContextMenu(menu c m ngữ
c nh) (Page 498)

Yêu cầu
Step by Step
Ex: Creating a Main Menu for a Form

Trang 25/63


×