-2
如果我想爲字符使用Try-Catch並確保在我輸入數字值時不會運行程序,那麼我會如何在Visual Basic中執行此操作?一小段代碼的例子會很棒。字符處理VB
如果我想爲字符使用Try-Catch並確保在我輸入數字值時不會運行程序,那麼我會如何在Visual Basic中執行此操作?一小段代碼的例子會很棒。字符處理VB
對於正常的程序控制流程,您不應該使用Try/Catch
。例外情況就是這樣:你不希望正常發生的特殊情況。
在第一個例子中,當字符包含數字時,不要使用異常來炸掉 。
實現此目的的一個好方法是添加一個KeyPress
處理程序。
這裏有一個按鍵處理,只允許數值和退格的例子(這是在C#中,但它很容易轉換爲VB.NET):
private void txtTimeout_KeyPress(object sender, KeyPressEventArgs e)
{
e.Handled = !(Char.IsNumber(e.KeyChar) || e.KeyChar == '\b');
}
設置KeyPressEventArgs.Handled爲true取消KeyPress事件。 這可以防止按鍵處理。
還有其他例子here和StackOverflow。
Private Sub textBox1_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) _
Handles textBox1.KeyPress
' Determine what is a valid key press
If Char.IsNumber(e.KeyChar) = True Then
' Stop the character from being entered into the control since it is numeric
e.Handled = True
End If
End Sub
@Mitch我只是在學習Visual Basic,我試圖處理一個字符類型的異常。你至少可以更具體一點嗎?不知道爲什麼我需要反對提問。 :/ – Alex 2013-03-04 01:10:28
@Mark通過製作一個蒙面的文本框或你的意思是?我對視覺基礎還很陌生。 – Alex 2013-03-04 01:25:50
順便說一句,這不是我的downvote。 – 2013-03-04 02:16:51