2016-05-24 5 views
-1

Ich benutze VB 2013 und versuche, Werte aus einem Dropdown zu einem Meldungsfeld senden, aber es gibt 0 zurück. Mein Code ist wie folgt:Drop-Down-Werte Senden '0' anstelle von Wert zu Message-Box in VB.net

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 

enter image description here

Wo habe ich falsch gemacht? Schätzen Sie jede Hilfe/Anregung. Ich bin völlig neu Vb.net

+0

sollten Sie aktivieren Option Strict. 'value1 = Val (Project_Name.SelectedItem)' konvertiert Objekt in double, um es einer Zeichenkette zuzuordnen – Plutonix

Antwort

1

Sie String.Format wie verwenden:

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 
+0

Froh, das zu hören :) –

0

Statt .SelectedItem verwenden Sie .SelectedValue verwendet wird, sollte

0

Zuerst auf die Val-Funktion ‚enthalten Gibt die Zahlen in eine Zeichenfolge als numerischer Wert des entsprechenden Typs '. Ihr Eintrag ‚Card Center Team‘ hat keine Zahlen so Val 0.

zurückkehren Wenn Sie tatsächlich suchen, um die Option durch den Benutzer, dh ‚Card Center Team‘ ausgewählt bekommen, dann sollten Sie verwenden:

Dim value1 As String 
value1 = ComboBox2.SelectedItem.Text 
0

Sie sollten SelectedItem.ToString() verwenden.

0

Val() Alle Werte in Zahlen umwandeln. Wenn Sie also einen numerischen Wert übergeben, kein Problem, nehmen Sie an, dass Sie char, string, hexa-Wert übergeben und in numerisch konvertieren. Das ist ein Problem für dich.

Val Example1

Val Example2