With a VB6 ListBox and ComboBox, all you have to do is set the Sorted property to True and it will allow you to select by type-matching. Perhaps the .NET ListBox works the same?
LL
EDIT: just realized you are typing in a TextBox, and not the ListBox. Again, in VB6, I know exactly how to do this. For example:
Private Sub txtStateName_KeyPress(KeyAscii As Integer)
strBuffer = txtStateName.Text
lngRetVal = SendMessage(lstStateList.hWnd, CB_FINDSTRING, -1, ByVal strBuffer)
If lngRetVal <> CB_ERR Then
lstStateList.ListIndex = lngRetVal
KeyAscii = 0
End If
End Sub
Basically, ListBoxes and ComboBoxes support a FindString function, but it is not exposed to VB. The SendMessage is a Windows API call that does the same thing returning the index of the first item that matches. The above code searches the lstStateList ListBox for whatever you've typed and selects the appropriate item if it matches.
The trick would be to see if the .NET ListBox supports a similar feature to search the list for a partial match. Worst case would simply be to trap the TextBox change event and manually search the ListBox looking for a match. Basically "For Loop" through the state ListBox and when you find one that partially matches the typed text, select that list index. Although I've taken a VB.NET class and could figure it out, I don't have it installed at home to tinker with it. I'm still a VB6 guy because I fear change
Good luck!
LL