當用戶輸入四個房間之一的金額時,我想鎖定其他按鈕。相反,如果我無法鎖定,請幫我做相反的事情,而當用戶單擊其他房間時,其他房間將凍結為 0 值。
Public Class Formrooms
Dim birthday As Double
Dim party As Double
Dim vip As Double
Dim deluxe As Double
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
lblparty.BackColor = ColorTranslator.FromHtml("#100F0E")
lblbday.BackColor = ColorTranslator.FromHtml("#100F0E")
lblvip.BackColor = ColorTranslator.FromHtml("#100F0E")
lbldeluxe.BackColor = ColorTranslator.FromHtml("#100F0E")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs)
Me.Hide()
Formsnacks.Show()
End Sub
Private Sub btnbirthday_Click(sender As Object, e As EventArgs)
Me.Hide()
Formsnacks.Show()
End Sub
Private Sub btnvip_Click(sender As Object, e As EventArgs)
Me.Hide()
Formsnacks.Show()
End Sub
Private Sub btndeluxe_Click(sender As Object, e As EventArgs)
Me.Hide()
Formsnacks.Show()
End Sub
Private Sub btndecp_Click(sender As Object, e As EventArgs) Handles btndecp.Click
lblparty.Text -= 1
If lblparty.Text <= 0 Then
lblparty.Text = 0
End If
End Sub
Private Sub btndecb_Click(sender As Object, e As EventArgs) Handles btndecb.Click
lblbday.Text -= 1
If lblbday.Text <= 0 Then
lblbday.Text = 0
End If
End Sub
Private Sub btndecv_Click(sender As Object, e As EventArgs) Handles btndecv.Click
lblvip.Text -= 1
If lblvip.Text <= 0 Then
lblvip.Text = 0
End If
End Sub
Private Sub btndecd_Click(sender As Object, e As EventArgs) Handles btndecd.Click
lbldeluxe.Text -= 1
If lbldeluxe.Text <= 0 Then
lbldeluxe.Text = 0
End If
End Sub
Private Sub btnincp_Click(sender As Object, e As EventArgs) Handles btnincp.Click
lblparty.Text = 1
If lblparty.Text >= 3 Then
lblparty.Text = 3
End If
End Sub
Private Sub btnincb_Click(sender As Object, e As EventArgs) Handles btnincb.Click
lblbday.Text = 1
If lblbday.Text >= 3 Then
lblbday.Text = 3
End If
End Sub
Private Sub btnincv_Click(sender As Object, e As EventArgs) Handles btnincv.Click
lblvip.Text = 1
If lblvip.Text >= 3 Then
lblvip.Text = 3
End If
End Sub
Private Sub btnincd_Click(sender As Object, e As EventArgs) Handles btnincd.Click
lbldeluxe.Text = 1
If lbldeluxe.Text >= 3 Then
lbldeluxe.Text = 3
End If
End Sub
Private Sub Number_only(sender As Object, e As KeyPressEventArgs)
If Asc(e.KeyChar) <> 8 Then
If Asc(e.KeyChar) < 48 Or Asc(e.KeyChar) > 57 Then
e.Handled = True
End If
End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles nextr.Click
Dim dialog As DialogResult
If lblbday.Text = 0 And lbldeluxe.Text = 0 And lblparty.Text = 0 And lblvip.Text = 0 Then
dialog = MessageBox.Show("You must choose the rooms", "Error", MessageBoxButtons.OK)
ElseIf lblbday.Text > 0 And lblparty.Text >= 1 And lblvip.Text = 1 And lbldeluxe.Text > 1 Then
dialog = MessageBox.Show("You can only choose 1 room", "Error", MessageBoxButtons.OK)
Else
Me.Hide()
formsnacks.Show()
End If
End Sub
Private Sub btnbackr_Click(sender As Object, e As EventArgs) Handles btnbackr.Click
Me.Hide()
Formtakeorders.Show()
End Sub
Private Sub lblparty_Click(sender As Object, e As EventArgs) Handles lblparty.Click
End Sub
End Class
uj5u.com熱心網友回復:
我認為你應該去掉四個按鈕(派對、生日、貴賓、豪華),而只有一個“下一個”按鈕。然后,只要您增加其中一個房間值,只需將其他小時選擇重置為零:
Public Class Formrooms
Dim party As Integer
Dim birthday As Integer
Dim vip As Integer
Dim deluxe As Integer
Private Sub btndecp_Click(sender As Object, e As EventArgs) Handles btndecp.Click
If party > 0 Then
party = party - 1
lblparty.Text = party
End If
End Sub
Private Sub btndecb_Click(sender As Object, e As EventArgs) Handles btndecb.Click
If birthday > 0 Then
birthday = birthday - 1
lblbday.Text = birthday
End If
End Sub
Private Sub btndecv_Click(sender As Object, e As EventArgs) Handles btndecv.Click
If vip > 0 Then
vip = vip - 1
lblvip.Text = vip
End If
End Sub
Private Sub btndecd_Click(sender As Object, e As EventArgs) Handles btndecd.Click
If deluxe > 0 Then
deluxe = deluxe - 1
lbldeluxe.Text = deluxe
End If
End Sub
Private Sub btnincp_Click(sender As Object, e As EventArgs) Handles btnincp.Click
party = Math.Min(party 1, 3)
lblparty.Text = party
birthday = 0
vip = 0
deluxe = 0
lblbirthday.Text = birthday
lblvip.Text = vip
lbldeluxe.Text deluxe
End Sub
Private Sub btnincb_Click(sender As Object, e As EventArgs) Handles btnincb.Click
birthday = Math.Min(birthday 1, 3)
lblbday.Text = birthday
party = 0
vip = 0
deluxe = 0
lblparty.Text = party
lblvip.Text = vip
lbldeluxe.Text deluxe
End Sub
Private Sub btnincv_Click(sender As Object, e As EventArgs) Handles btnincv.Click
vip = Math.Min(vip 1, 3)
lblvip.Text = vip
party = 0
birthday = 0
deluxe = 0
lblparty.Text = party
lblbirthday.Text = birthday
lbldeluxe.Text = deluxe
End Sub
Private Sub btnincd_Click(sender As Object, e As EventArgs) Handles btnincd.Click
deluxe = Math.Min(deluxe 1, 3)
lbldeluxe.Text = deluxe
party = 0
birthday = 0
vip = 0
lblparty.Text = party
lblbirthday.Text = birthday
lblvip.Text = vip
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles nextr.Click
If birthday = 0 AndAlso deluxe = 0 AndAlso party = 0 AndAlso vip = 0 Then
MessageBox.Show("You must choose a room with at least one hour.", "Error", MessageBoxButtons.OK)
Else
Me.Hide()
formsnacks.Show()
End If
End Sub
End Class
uj5u.com熱心網友回復:
如果我設法從您糟糕的解釋中找出實際含義,那么這種事情就可以完成:
Private Sub Buttons_Click(sender As Object, e As EventArgs) Handles Button4.Click,
Button3.Click,
Button2.Click,
Button1.Click
For Each btn In Controls.OfType(Of Button)()
btn.Enabled = btn Is sender
Next
End Sub
一個事件處理程式Buttons,然后設定Enabled每個Button. sender是引發事件的物件,Button即被點擊的物件。除了那之外的所有東西Button都不是sender全部,但Button它們的Enabled屬性將設定為False。
請注意,這假定所有這些Buttons都在同一個容器中 - 在這種特定情況下是表單 - 并且該容器不包含其他Buttons. 如果當前不是這種情況,您可以硬編碼Buttons要回圈的串列,也可以僅將它們移動Buttons到新容器中,例如Panel.
uj5u.com熱心網友回復:
我不完全理解,但我認為這就是解決方案。[1]:https ://i.stack.imgur.com/D62kl.png [示例][1]
如果我不幫助你解決這個問題,我想解釋你想做的想法
' 為我的按鈕命名:Room1、Room2、Room3、Room4
'example Dim ButtonRoom As Button = CType(Me.Controls("Room" & j), Button)
' 命名我的按鈕 : hello1 , hello2 , hello3, hello4
'example2 Dim ButtonRoom As Button = CType(Me.Controls("hello" & j), Button)
Private Sub Room1_Click(sender As Object, e As EventArgs) Handles Room1.Click
selected_room(1)
End Sub
Private Sub Room2_Click(sender As Object, e As EventArgs) Handles Room2.Click
selected_room(2)
End Sub
Private Sub Room3_Click(sender As Object, e As EventArgs) Handles Room3.Click
selected_room(3)
End Sub
Private Sub Room4_Click(sender As Object, e As EventArgs) Handles Room4.Click
selected_room(4)
End Sub
Public Function selected_room(ByVal i As Integer)
For j As Integer = 1 To 4
Dim ButtonRoom As Button = CType(Me.Controls("<name your button here>" & j), Button)
If j = i Then
ButtonRoom.Enabled = True
Else
ButtonRoom.Enabled = False
End If
Next j
Return True
End Function
如果您沒有從解決方案中受益,我希望您與我聯系 instagram:ovhc_
如果我幫助了你,請投票給我。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/455666.html
標籤:VB.net
