2014-11-18 4 views
0

У меня вопрос об использовании функции IsNumeric() в VB.NET.
Мне нужно сделать программу, которая говорит, если значение в текстовом поле является числовым или нет.Использование функции «IsNumeric» в vb.net

Когда я оставляю TextBox, он должен отображать в Label, «ваш ввод не является числовым».
При вводе TextBox текст должен быть удален из TextBox.

Я не знаю, как начать с этого:/
Где я могу поместить код, если я использую приложение Windows Forms и имею только кнопку закрытия?

Я пробовал обо всем, что знаю.

+0

Я считаю, что слово, которое вы ищете «цифровой» –

+0

Geesh, не TryParse Вот? – Codexer

ответ

1

Вы хотите установить код в поле « Оставьте « Проверка »вашего текстового поля.

В Visual Studio выберите свое текстовое поле, перейдите к его свойствам, в событиях (молнии), перейдите к « Оставьте Проверка», дважды щелкните его. Это свяжет событие и создаст функцию заглушки. Вы хотите использовать «IsNumeric» оттуда. не

+0

и как может id к этому? – larsvdb97

+0

Я бы предпочел включить его в событие 'Validating'. –

+0

@DouglasBarbin Твердая идея. – MPelletier

1

у вас есть три варианта

в зависимости от ваших потребностей, я думаю, проверка будет один из лучших одной

Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave 
    If Not String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso Not IsNumeric(TextBox1.Text) Then 
     TextBox1.Text = "" 
     MessageBox.Show("Invalid text") 
    End If 
End Sub 

Private Sub TextBox1_LostFocus(sender As Object, e As EventArgs) Handles TextBox1.LostFocus 
    If Not String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso Not IsNumeric(TextBox1.Text) Then 
     TextBox1.Text = "" 
     MessageBox.Show("Invalid text") 
    End If 
End Sub 

Private Sub TextBox1_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles TextBox1.Validating 
    If Not String.IsNullOrWhiteSpace(TextBox1.Text) AndAlso Not IsNumeric(TextBox1.Text) Then 
     TextBox1.Text = "" 
     MessageBox.Show("Invalid text") 
    End If 
End Sub 
+0

спасибо большое: D это сработало: D я бы поднял, если бы у меня была репутация 15:/ – larsvdb97

+0

@ larsvdb97 [Что делать, если кто-то отвечает на мой вопрос?] (Http://stackoverflow.com/help/someone-answers) –

+0

В событии 'Validating' вы можете установить' e.Cancel = True', а не устанавливать TextBox.Text в пустую строку. Просто мысль. Но для этого конкретного сценария я уверен, что то, что вы опубликовали, будет работать нормально. –

Смежные вопросы