Selected List Value as Object

I don't even know the correct terminology for this, so I will try to explain.

I have a list box that I populate with values from an object (Item), one object per row.

lstThing

Now I want to select and use the value in that row to pass it as a reference to the object in another method.

Private Sub  xyz
' declare the variable
Dim thing As Thing
Dim addThing As AnotherThing

' I get an error with this:
getThing = lstThing.SelectedValue.ToString

'Do Stuff
addThing = _Machine.doSomething(getThing)

End Sub

Trying to pass the object associated with getThing to addThing, but get an error "Value of Type String cannot be converted..."  

VB suggests using cType to convert, but that doesn't work either.

I know it's something very elementary, but I can't figure it out!
ipengAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Mike TomlinsonConnect With a Mentor Middle School Assistant TeacherCommented:
If you put "Thing" in, then you need to cast back to "Thing" on the way out:

    Dim getThing As Thing = CType(lstThing.SelectedValue, Thing)

Replacing "Thing" with the correct type in both places.

*You're using SelectedValue().  Only use this if you've set DisplayMember() and ValueMember().  If you didn't set those then use SelectedItem() instead:

    Dim getThing As Thing = CType(lstThing.SelectedItem, Thing)
0
 
Carl TawnSystems and Integration DeveloperCommented:
Can you show us how you are populating the list?
0
 
ipengAuthor Commented:
Thanks for the help.    Using the CType with SelectedItem fixed it.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.