2013-03-20 83 views
0

我想通过使用messageboxbuttons.yesno清除文本框。如果他选择开始另一次转换,请清除文本框。我没有什么错。 公共类Form1中如何使用messageboxbuttons.yesno清除文本框?

Private Sub BtnFah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFah.Click 
     Try 
      Dim intFah As Integer 

      intFah = CInt(TxtBoxTemp.Text) 
      intFah = (intFah * 9)/5 - 32 
      MessageBox.Show(intFah.ToString & ControlChars.CrLf & "Would you like to start another temp conversion?", "Result", MessageBoxButtons.YesNo) 
      If intFah = Windows.Forms.DialogResult.Yes Then 
       TxtBoxTemp.Clear() 
      ElseIf intFah = Windows.Forms.DialogResult.No Then 

      End If 
     Catch 
      MessageBox.Show("Would you like to start another temp conversion?", "System Error", MessageBoxButtons.YesNo) 

     End Try 
    End Sub 
End Class 

回答

0

reads仿佛MessageBox.Text = "",但我没有访问到Visual Basic,所以我不能肯定。

0

你是不是存储从消息框,结果....行:

If intFah = Windows.Forms.DialogResult.Yes 

因为你试图比较你计算的对话框结果的温度是不正确的。

如果您按照示例here那么您应该看到如何捕获消息框中的结果,然后执行相应的操作。

你的Clear()方法的使用也是一个VB背景下OK,其他的办法是:

TxtBoxTemp.Text = String.Empty 

但无论哪种方式就可以了。

HTH,弥敦道

+0

谢谢你,我得到它的工作。 :) – user2189046 2013-03-20 03:28:28

0

只要把MessageBox.Show()直接在If

Private Sub BtnFah_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnFah.Click 
    Try 
     Dim intFah As Integer 
     intFah = CInt(TxtBoxTemp.Text) 
     intFah = (intFah * 9)/5 - 32 
     If MessageBox.Show(intFah.ToString & ControlChars.CrLf & "Would you like to start another temp conversion?", "Result", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then 
      TxtBoxTemp.Text = String.Empty 
     Else 

     End If 
    Catch 
     MessageBox.Show("Would you like to start another temp conversion?", "System Error", MessageBoxButtons.YesNo) 
    End Try 
End Sub 
+0

谢谢,我得到它的工作。 :) – user2189046 2013-03-20 03:29:51

+0

它也会清除文本框,当我按否。我对代码做了一些更改,但它不起作用。我能做什么? – user2189046 2013-03-20 03:34:09

+0

如果你仍然有问题,你应该发布你的代码(例如,编辑你的原始问题,并插入修改后的代码不工作) - 它会让你更容易帮助 – nkvu 2013-03-20 03:50:14