Bài 2: Viết một chương trình Visual Basic.NET đầu tay

0
  1. Chương trình LUCKY SEVEN – chương trình đầu tay

1.1. Tìm hiểu chương trình

Luckyseven có giao diện như sau:1

Form chính gồm có hai nút (quay số và kết thúc), bốn nhãn (1, 2, 3 – chứa ba số ngẫu nhiên, 4 – chứa tên chương trình và hiện dòng “Bạn chiến thắng nếu cả 3 nhãn 1, 2, 3 đều là số 7”).

Khi bạn click vào nút Quay số thì chương trình phát sinh ngẫu nhiên ba số ở ba nhãn. Nếu một trong ba số là chữ số 7 thì hiện ảnh trả tiền ở đối tượng picturebox1.

1.2. Xây dựng giao diện và thuộc tính

– Tạo nút button1 trên form1: bạn tạo button1theo nhiều cách khác nhau. Đó là kéo từ toolbox vào form; double click vào đối tượng button; click vào đối tượng button và vẽ hình chữ nhật trên giao diện chính của form1.

Sau khi tạo xong button1 trên form1 bạn đặt thuộc tính như sau: R-click vào button1 trên form1 chọn properties. Trong cửa sổ properties windows thiết lập các thuộc tính tùy thích (cẩn thận với thuộc tính name – đặt tên không khoảng trắng), bạn chọn thuộc tính text thành Quay số.

–             Tương tự với button2 bạn chọn thuộc tính textKết thúc. Cả hai nút thuộc tính Text Align đều là Middle Center.

– Tạo nhãn label1: Bạn tạo nhãn bằng nhiều cách như với nút nhưng chọn đối tượng Label  từ toolsbox. Bạn đặt con trỏ vào các cạnh của nhãn để chỉnh size cho nó. Nếu không chỉnh được thì bạn nhìn thuộc tính Auto Size của nhãn này trên cửa sổ Properties, chỉnh nó thành False là xong.

Sau khi tạo xong lable1 trên form1, bạn đặt thuộc tính cho nó như sau: Text – để trống; TextAlignMiddle center; Các thuộc tính khác tùy thích.

– Tương tự với các nhãn lable2, lable3, lable4. Riêng lable4 bạn đặt thuộc tính text là “Chương trình số 7 may mắn”.

– Tạo Picturebox1 – đối tượng cho phép chứa ảnh: Tạo picturebox1 tương tự như tạo các đối tượng khác với cách click vào đối tượng2  trên Tools box.

Thiết lập thuộc tính cho Picturebox1: SizeMode – StretchImage (cho phép ảnh co giãn đúng theo kích cỡ của Picturebox); Visible – False (ảnh không hiện trừ khi mã chưong trình cho phép); Image – bạn chọn ảnh nào tùy thích.

Bạn có thể kéo vị trí các đối tượng trên form1 sao cho phù hợp.

1.3. Viết mã cho chương trình

1.3.1. Sự kiện Form1_Load

Mã là phần quan trọng và mạnh mẽ nhất dùng để tùy biến và xây dựng chương trình. Để xem mã của form1 ta R-click vào phần Form1 và chọn ViewCode. Kết quả:

Public Class Form1

End Class

Đây là cấu trúc đặc trưng của vb. Ta tiếp tục bàn về thủ tục form_load. Load là sự kiện triệu gọi một form khi thực thi. Để tạo bạn chọn form1events từ danh sách xổ xuống như sau:3

Tiếp đó là chọn sự kiện load từ danh sách xổ xuống kế bên phần chọn sự kiện:4

Và vs.net tự tạo một thủ tục cho bạn như sau:

Private Sub Form1_Load(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Me.Load

 

End Sub

Vì đây là chương trình sinh số ngẫu nhiên nên bạn cần gọi đến hàm rnd() – hàm sinh ngẫu nhiên. Cũng theo đó, ta khai báo trong sự kiện form1_load hàm Randomize():

Private Sub Form1_Load(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Me.Load

Randomize()

End Sub

1.3.2. Viết mã cho nút nhấn quay số – button1

Ta muốn chương trình thực hiện quay số ngẫu nhiên khi click vào nút quay số thì phải viết mã hay chính xác hơn là tạo thủ tục có tên Button1_Click xử lý sự kiện.Việc tạo thủ tục này như sau: bạn tiến hành một trong các cách. Thứ nhất, double click vào nút quay số trên giao diện thiết kế form. Cách thứ hai chọn đối tượng button1 từ danh sách xổ xuống:5

Tiếp theo chọn sự kiện click bên danh sach xổ xuống bên cạnh:6

Và nhập chính xác đoạn mã sau vào phần thủ tục tương ứng xuất hiện:

Private Sub Button1_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Button1.Click

PictureBox1.Visible = False

Label1.Text = CStr(Int(Rnd() * 10))

Label2.Text = CStr(Int(Rnd() * 10))

Label3.Text = CStr(Int(Rnd() * 10))

‘Nếu một trong ba nhãn xuất hiện số 7 thì hiện ảnh và kêu beep

If (Label1.Text = “7”) Or (Label2.Text = “7”) Or (Label3.Text = “7”) Then

PictureBox1.Visible = True

Beep()

End If

If (Label1.Text = “7”) And (Label2.Text = “7”) And (Label3.Text = “7”) Then

PictureBox1.Visible = True

Beep()

Label4.Text &= “Bạn đã chiến thắng!”

End If

End Sub

1.3.3. Viết mã cho nút kết thúc – button2

Tương tự như button1, bạn tạo sự kiện click của button2 và nhập hàm End() vào là xong.

1.3.4. Mã đầy đủ của chương trình

Public Class Form1

Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click

End

End Sub

Private Sub Button1_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Button1.Click

PictureBox1.Visible = False

Label1.Text = CStr(Int(Rnd() * 10))

Label2.Text = CStr(Int(Rnd() * 10))

Label3.Text = CStr(Int(Rnd() * 10))

‘Nếu một trong ba nhãn xuất hiện số 7 thì hiện ảnh và kêu beep

If (Label1.Text = “7”) Or (Label2.Text = “7”) Or (Label3.Text = “7”) Then

PictureBox1.Visible = True

Beep()

End If

If (Label1.Text = “7”) And (Label2.Text = “7”) And (Label3.Text = “7”) Then

PictureBox1.Visible = True

Beep()

Label4.Text &= “Bạn đã chiến thắng!”

End If

End Sub

Private Sub Form1_Load(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles Me.Load

Randomize()

End Sub

End Class

  1. Thực thi chương trình

2.1. Chạy chương trình

Để chạy chương trình click vào nút start  trên standard bar hay chọn Debug | start debugging từ menu bar.

2.2. Biên dịch chương trình ra file .exe

VS.NET hỗ trợ bạn biên dịch chương trình ra file .exe để chạy trên bất kỳ môi trường nào. Nó đóng gói tất cả các thành phần cần thiết và tạo ra file chạy trên tất cả môi trường windows.

Có hai kiểu file chạy: kiểu Debug build (gỡ lỗi) và  release build (xây dựng).

Trên lý thuyết, kiểu debug build chạy chậm hơn vì chứa thông tin gỡ lỗi. Trên thực tế thì chúng chạy tương đương nhau.

Để tạo ra file thực thi chọn Build | Build luckyseeven.7

Chương trình sẽ tạo ra một thư mục BIN chứa hai thư mục con là DEBUG và RELEASE có hai file luckyseven.exe là hai file thực thi ta cần.

Share.

About Author

Leave A Reply