【问题标题】:VB.net Convert NULL value of TextBox to IntegerVB.net 将 TextBox 的 NULL 值转换为 Integer
【发布时间】:2018-06-14 00:36:32
【问题描述】:

我正在尝试执行删除文本框的内容/值的场景,然后如果文本框为空,它将自动变为 0。

因为每次我执行它都会给我一个错误,比如将字符串转换为整数是无效的等等。

【问题讨论】:

  • 您应该发布您的代码并提供更多详细信息。

标签: vb.net


【解决方案1】:

如果我理解你的问题,那么这就是你所需要的

https://stackoverflow.com/a/41890237/9651031

Dim count1 As Integer = 0
count1 = ConvertToInteger(a.Text) + ConvertToInteger(b.Text) + ConvertToInteger(c.Text)
txt_display.Text = count1




Private Function ConvertToInteger(ByRef value As String) As Integer
    If String.IsNullOrEmpty(value) Then
        value = "0"
    End If
    Return Convert.ToInt32(value)
End Function

玩弄它,最终你会得到你想要的结果

【讨论】:

  • 不客气!顺便提一句。这不是我的代码,只是分享它。干杯!!
【解决方案2】:

在这种情况下,触发TextBox_TextChanged 事件:

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
  if me.TextBox1.Trim.Lenght = 0 Then
    me.TextBox1.Text = "0"
  End if
End Sub

【讨论】:

  • 会试试的,谢谢反馈
  • 这会导致用户行为混乱。如果文本框有 1 位数字并且他们将其删除以将其更改为其他数字,则文本框中将出现 0。如果他们试图删除 0,他们将无法删除。虽然这不应该影响最终数字,但会让用户感到沮丧。
  • 至少在 WebForms 中,零 0 在文本框失去焦点之前不会出现。我不记得这是否同样适用于 WinForms。
【解决方案3】:

请试试这个

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) HandlesTextBox1.TextChanged 如果 TextBox1.Text.Trim = "" 那么 TextBox1.Text = "0" 万一 结束子

【讨论】:

    【解决方案4】:

    把它放在你希望它发生的事件上:

    If Textbox1.text = nothing then
    Textbox1.text = "0"
    End if
    

    根据您的问题,我了解您希望文本框在为空时显示数字零。对吗?

    【讨论】:

    • 另外,听起来你需要更多地了解变量类型的区别。因此,请对此进行一些研究。
    【解决方案5】:

    您可以在文本更改或离开文本框时检查当前文本/值是什么。

    那你就干吧

    if textbox.text="" ' or any form of empty/nothing
       textbox.text="0"
    end if
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多