作者j76992001 (人緣有待等)
看板Visual_Basic
標題[.NET] 如何停留在執行的表單畫面上
時間Thu May 28 11:08:53 2009
Public Class Form1
Dim x, a, b
Private Sub Button4_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button4.Click
x = CInt(Int((10 - 10 + 1) * Rnd() + 10))
Label1.Text = x
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
If Label1.Text = "" Then
MsgBox("請先按開始", , "注意")
End
End If
Label1.Text = Val(Label1.Text) - 1
If Val(Label1.Text) > 4 Then
a = CInt(Int((3 - 1 + 1) * Rnd() + 1))
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 4 Then
a = 3
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 3 Then
a = 2
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 2 Then
a = 1
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 1 Then
MsgBox("我認輸了", , )
ElseIf Val(Label1.Text) = 0 Then
MsgBox("我獲勝了", , )
End
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button2.Click
If Label1.Text = "" Then
MsgBox("請先按開始", , "注意")
End
End If
Label1.Text = Val(Label1.Text) - 2
If Val(Label1.Text) > 4 Then
a = CInt(Int((3 - 1 + 1) * Rnd() + 1))
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 4 Then
a = 3
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 3 Then
a = 2
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 2 Then
a = 1
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 1 Then
MsgBox("我認輸了", , )
ElseIf Val(Label1.Text) = 0 Then
MsgBox("我獲勝了", , )
End
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button3.Click
If Label1.Text = "" Then
MsgBox("請先按開始", , "注意")
End
End If
Label1.Text = Val(Label1.Text) - 3
If Val(Label1.Text) > 4 Then
a = CInt(Int((3 - 1 + 1) * Rnd() + 1))
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 4 Then
a = 3
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 3 Then
a = 2
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 2 Then
a = 1
MsgBox("我拿走" & a & "粒", , )
b = Val(Label1.Text) - a
Label1.Text = b
MsgBox("還剩下" & b & "粒", , )
ElseIf Val(Label1.Text) = 1 Then
MsgBox("我認輸了", , )
ElseIf Val(Label1.Text) = 0 Then
MsgBox("我獲勝了", , )
End
End If
End Sub
End Class
如題 這是一個撿石頭的遊戲 表單介面上有四個按鈕 分別是"拿一粒石頭" "拿兩粒石頭"
"拿三粒石頭" "開始" 但是如果在沒按開始之前 就先按了其他三個按鈕 用來顯示數字的
Label1還是會跑出數字來(看是按多少 就會負多少) 目前自己能讓這個情況不發生的
方式就是在每個Button_Click的最前面插入條件假如Label是""的話 直接終止程式
想請問版上各位 是否能夠只讓MsgBox的訊息跑出來 然後繼續停留在執行畫面呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.15.130
※ 編輯: j76992001 來自: 114.38.15.130 (05/28 11:10)
推 catchtest:把End改成Exit Sub即可 05/28 13:13
→ j76992001:感謝幫忙 問題解決了^^ 05/28 20:15