2014-09-25 197 views
0

好日子所有,我是有一些麻烦我MSGBOX与vbyesnocancelMSGBOX和vbyesnocancel

提示•此代码一切工作就好了“但”我需要点击多次是,否,取消激活其功能

Private Sub cbEnableDeductions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnableDeductions.Click 
      If MsgBox("Do You want To Enable deductions?", vbYesNoCancel) = MsgBoxResult.Yes Then 
       cbEnableDeductions.Checked = True 
       txtSSS.Enabled = True 
       txtHDMF.Enabled = True 
       txtPhilHealth.Enabled = True 
      ElseIf MsgBox("Do You want To Enable deductions?", vbYesNoCancel) = MsgBoxResult.No Then 
       cbEnableDeductions.Checked = True 
       Total() 
      ElseIf MsgBox("Do You want To Enable deductions?", vbYesNoCancel) = MsgBoxResult.Cancel Then 
       cbEnableDeductions.CheckState = False 
      End If 
     End Sub 

•使用此代码“否”和“取消”功能不工作

Private Sub cbEnableDeductions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnableDeductions.Click 
     If MsgBox("Do You want To Enable deductions?", vbYesNoCancel) = MsgBoxResult.Yes Then 
      cbEnableDeductions.Checked = True 
      txtSSS.Enabled = True 
      txtHDMF.Enabled = True 
      txtPhilHealth.Enabled = True 
     ElseIf vbYesNoCancel = MsgBoxResult.No Then 
      cbEnableDeductions.Checked = True 
      Total() 
     ElseIf vbYesNoCancel = MsgBoxResult.Cancel Then 
      cbEnableDeductions.CheckState = False 
     End If 
    End Sub 
+3

你真的应该使用MessageBox.Show(),而不是传统的msgbox()函数。我已经看到MsgBox的微妙的错误,其中对话框不会正确地出现在应用程序的前面。 – 2014-09-25 03:14:45

回答

1

试试这个,你所要求的输入与现有代码的3倍。

Dim result As MsgBoxResult = MsgBox("Do You want To Enable deductions?", vbYesNoCancel) 
    If result = MsgBoxResult.Yes Then 
     cbEnableDeductions.Checked = True 
     txtSSS.Enabled = True 
     txtHDMF.Enabled = True 
     txtPhilHealth.Enabled = True 
    ElseIf result = MsgBoxResult.No Then 
     cbEnableDeductions.Checked = True 
     Total() 
    ElseIf result = MsgBoxResult.Cancel Then 
     cbEnableDeductions.CheckState = False 
    End If 

,或者你可以使用一个CASE

Select Case MsgBox("Do You want To Enable deductions?", vbYesNoCancel) 
    Case MsgBoxResult.Yes 
     cbEnableDeductions.Checked = True 
     txtSSS.Enabled = True 
     txtHDMF.Enabled = True 
     txtPhilHealth.Enabled = True 
    Case MsgBoxResult.No 
     cbEnableDeductions.Checked = True 
     Total() 
    Case MsgBoxResult.Cancel 
     cbEnableDeductions.CheckState = False 
End Select 
1

尝试是这样的:

Private Sub cbEnableDeductions_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbEnableDeductions.Click 

    Dim msgBoxResult = MsgBox("Do You want To Enable deductions?", vbYesNoCancel) 

    If msgBoxResult = MsgBoxResult.Yes Then 
     cbEnableDeductions.Checked = True 
     txtSSS.Enabled = True 
     txtHDMF.Enabled = True 
     xtPhilHealth.Enabled = True 

    ElseIf msgBoxResult = MsgBoxResult.No Then 
     cbEnableDeductions.Checked = True 
     Total() 

    ElseIf msgBoxResult = MsgBoxResult.Cancel Then 
     cbEnableDeductions.CheckState = False 

    End If 
End Sub 
+0

也感谢先生这一个也很完美 – NewbieVB 2014-09-25 03:26:56

+0

或者至少投票答案? – eniacAvenger 2014-09-25 03:36:46

+0

投了它先生再次感谢.. – NewbieVB 2014-09-25 03:40:38