下拉值将“0”而不是值发送到 VB.net 中的消息框

Drop down values sending '0' instead of value to message box in VB.net

我正在使用 VB 2013 并尝试将值从下拉列表发送到消息框,但它返回 0。我的代码如下:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim value1 As String
        Dim value2 As String

        value1 = Val(Project_Name.SelectedItem)
        value2 = Val(ComboBox2.SelectedItem)
        Windows.Forms.MessageBox.Show(value1, value2)

    End Sub

我哪里做错了?感谢任何帮助/建议。我对 Vb.net

完全陌生

您应该使用 .SelectedValue

而不是使用 .SelectedItem

您可以使用 String.Format 如:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim value1 As String
            Dim value2 As String
            value1 = Project_Name.SelectedItem.ToString()
            value2 = ComboBox2.SelectedItem.ToString()
          Dim s As String = String.Format("Value 1: {0}  value2 : {1}", value1 , value2)
            Windows.Forms.MessageBox.Show(s)

        End Sub

首先启动 Val 函数 'Returns the numbers contained in a string as a numeric value of appropriate type'。您的条目 'Card Center Team' 没有任何数字,因此 Val 将 return 0.

如果您实际上希望获得用户选择的选项,即 'Card Center Team' 那么您应该使用:

Dim value1 As String
value1 = ComboBox2.SelectedItem.Text

你应该使用 SelectedItem.ToString()。

value1 = Project_Name.SelectedItem.ToString()
value2 = ComboBox2.SelectedItem.ToString()

Val() 将所有值转换为数字。因此,如果您传递数值没问题,假设您传递的是字符、字符串、十六进制值,它将转换为数字。这是你面临的问题。

Val Example1

Val Example2