> Public Function GetStudid(ByVal pTextBox As TextBox) As String > 'Shows a context menu and returns the STUDID of the selected student > Dim cm As New ContextMenu > Dim mnuItem As MenuItem > For Each dr As DataRow In DS.Tables("students").Rows > mnuItem = New MenuItem(dr.Item("studname")) > AddHandler mnuItem.Click, AddressOf cmEventhandler > cm.MenuItems.Add(mnuItem) > Next > Debug.WriteLine("BEFORE CONTEXTMENU DISPLAY") > cm.Show(pTextBox, New Point(0, 0)) > Debug.WriteLine("AFTER CONTEXTMENU DISPLAY") > End Function > > Private Sub cmEventhandler(ByVal sender As Object, ByVal e As EventArgs) > Dim cm_index = CType(sender, MenuItem).Index > studid = DS.Tables("students").Rows(cm_index).Item("studid") > Debug.WriteLine("STUDID CHANGED") > End Sub >>
AddHandler mnuItem.Select, AddressOf cmEventhandlerPS:with a command button this looks like a combo. You might instead set generated contextmenu as textBox's context menu.