You are on page 1of 6

Hng dn lp trnh VB.

NET

Chng 2: Vit chng trnh vs.net u tay

Chng 2:
Vit mt chng trnh Visual Basic.NET u tay
--------oOo-------Ni dung tho lun:
-

To giao din cho chng trnh

Thit lp thuc tnh cho cc i tng trong giao din

Vit m chng trnh

Lu v chy chng trnh

Bin dch file thc thi .exe

1. Chng trnh LUCKY SEVEN chng trnh u tay


1.1. Tm hiu chng trnh
Luckyseven c giao din nh sau:

Form chnh gm c hai nt (quay s v kt thc), bn nhn (1, 2, 3 cha ba s ngu


nhin, 4 cha tn chng trnh v hin dng Bn chin thng nu c 3 nhn 1, 2, 3 u
l s 7).
Bin son: Phm c Lp

-1-

Add: cnt-44-dh, VIMARU

Hng dn lp trnh VB.NET

Chng 2: Vit chng trnh vs.net u tay

Khi bn click vo nt Quay s th chng trnh pht sinh ngu nhin ba s ba nhn. Nu
mt trong ba s l ch s 7 th hin nh tr tin i tng picturebox1.
1.2. Xy dng giao din v thuc tnh
- To nt button1 trn form1: bn to button1theo nhiu cch khc nhau. l ko
t toolbox vo form; double click vo i tng button; click vo i tng button v v
hnh ch nht trn giao din chnh ca form1.
Sau khi to xong button1 trn form1 bn t thuc tnh nh sau: R-click vo button1
trn form1 chn properties. Trong ca s properties windows thit lp cc thuc tnh ty
thch (cn thn vi thuc tnh name t tn khng khong trng), bn chn thuc tnh
text thnh Quay s.
- Tng t vi button2 bn chn thuc tnh text l Kt thc. C hai nt thuc tnh
Text Align u l Middle Center.
- To nhn label1: Bn to nhn bng nhiu cch nh vi nt nhng chn i tng
Label

t toolsbox. Bn t con tr vo cc cnh ca nhn chnh size cho n.

Nu khng chnh c th bn nhn thuc tnh Auto Size ca nhn ny trn ca s


Properties, chnh n thnh False l xong.
Sau khi to xong lable1 trn form1, bn t thuc tnh cho n nh sau: Text
trng; TextAlign Middle center; Cc thuc tnh khc ty thch.
- Tng t vi cc nhn lable2, lable3, lable4. Ring lable4 bn t thuc tnh text l
Chng trnh s 7 may mn.
- To Picturebox1 i tng cho php cha nh: To picturebox1 tng t nh to
cc i tng khc vi cch click vo i tng

trn Tools box.

Thit lp thuc tnh cho Picturebox1: SizeMode StretchImage (cho php nh co


gin ng theo kch c ca Picturebox); Visible False (nh khng hin tr khi m chong
trnh cho php); Image bn chn nh no ty thch.
Bn c th ko v tr cc i tng trn form1 sao cho ph hp.
1.3. Vit m cho chng trnh
1.3.1. S kin Form1_Load
M l phn quan trng v mnh m nht dng ty bin v xy dng chng trnh.
xem m ca form1 ta R-click vo phn Form1 v chn ViewCode. Kt qu:
Public Class Form1
End Class

Bin son: Phm c Lp

-2-

Add: cnt-44-dh, VIMARU

Hng dn lp trnh VB.NET

Chng 2: Vit chng trnh vs.net u tay

y l cu trc c trng ca vb. Ta tip tc bn v th tc form_load. Load l s kin


triu gi mt form khi thc thi. to bn chn form1events t danh sch x xung nh
sau:

Tip l chn s kin load t danh sch x xung k bn phn chn s kin:

V vs.net t to mt th tc cho bn nh sau:


Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
End Sub

V y l chng trnh sinh s ngu nhin nn bn cn gi n hm rnd() hm sinh ngu


nhin. Cng theo , ta khai bo trong s kin form1_load hm Randomize():
Private Sub Form1_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
Randomize()

Bin son: Phm c Lp

-3-

Add: cnt-44-dh, VIMARU

Hng dn lp trnh VB.NET

Chng 2: Vit chng trnh vs.net u tay

End Sub

1.3.2. Vit m cho nt nhn quay s - button1


Ta mun chng trnh thc hin quay s ngu nhin khi click vo nt quay s th phi vit
m hay chnh xc hn l to th tc c tn Button1_Click x l s kin.Vic to th tc
ny nh sau: bn tin hnh mt trong cc cch. Th nht, double click vo nt quay s trn
giao din thit k form. Cch th hai chn i tng button1 t danh sch x xung:

Tip theo chn s kin click bn danh sach x xung bn cnh:

V nhp chnh xc on m sau vo phn th tc tng ng xut hin:


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))
'Nu mt trong ba nhn xut hin s 7 th hin nh v ku 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

Bin son: Phm c Lp

-4-

Add: cnt-44-dh, VIMARU

Hng dn lp trnh VB.NET

Chng 2: Vit chng trnh vs.net u tay

Beep()
Label4.Text &= "Bn chin thng!"
End If
End Sub

1.3.3. Vit m cho nt kt thc button2


Tng t nh button1, bn to s kin click ca button2 v nhp hm End() vo l xong.
1.3.4. M y ca chng trnh
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))
'Nu mt trong ba nhn xut hin s 7 th hin nh v ku 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 &= "Bn chin thng!"
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

2. Thc thi chng trnh


2.1. Chy chng trnh
chy chng trnh click vo nt start

trn standard bar hay chn Debug | start

debugging t menu bar.


2.2. Bin dch chng trnh ra file .exe
VS.NET h tr bn bin dch chng trnh ra file .exe chy trn bt k mi trng no.
N ng gi tt c cc thnh phn cn thit v to ra file chy trn tt c mi trng
windows.
C hai kiu file chy: kiu Debug build (g li) v release build (xy dng).

Bin son: Phm c Lp

-5-

Add: cnt-44-dh, VIMARU

Hng dn lp trnh VB.NET

Chng 2: Vit chng trnh vs.net u tay

Trn l thuyt, kiu debug build chy chm hn v cha thng tin g li. Trn thc t th
chng chy tng ng nhau.
to ra file thc thi chn Build | Build luckyseeven.

Chng trnh s to ra mt th mc BIN cha hai th mc con l DEBUG v RELEASE


c hai file luckyseven.exe l hai file thc thi ta cn.

3. Tng kt
Bn hy lm mt bng tng kt cc cng vic thc hin v t lm li chng trnh
khng cn xem mu.

Bin son: Phm c Lp

-6-

Add: cnt-44-dh, VIMARU

You might also like