看板 Visual_Basic 關於我們 聯絡資訊
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