2013-03-20 91 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