Public Class myStudent Public student_name, studid As String Private DS As New DataSet Sub New() ' POPULATE THE DATASET. In my program, these data come from an SQL table DS.Tables.Add("students") DS.Tables("students").Columns.Add("studid") DS.Tables("students").Columns.Add("studname") Dim dt As DataRow dt = DS.Tables("students").NewRow dt.Item("studid") = "2001-00234" dt.Item("studname") = "DOE, JOHN" DS.Tables("students").Rows.Add(dt) dt = DS.Tables("students").NewRow dt.Item("studid") = "2002-00230" dt.Item("studname") = "DORRIS, PAUL" DS.Tables("students").Rows.Add(dt) dt = DS.Tables("students").NewRow dt.Item("studid") = "2002-00418" dt.Item("studname") = "DJANGO, MANDRID" DS.Tables("students").Rows.Add(dt) dt = DS.Tables("students").NewRow dt.Item("studid") = "2001-00994" dt.Item("studname") = "DARRYL, JOSEPH" DS.Tables("students").Rows.Add(dt) End Sub 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 cm.Show(pTextBox, New Point(0, 0)) 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") End Sub End Class --------------------------------------------------------------------- This is the main form --------------------------------------------------------------------- Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " #End Region Dim mystud As New myStudent 'A Textbox and a Command Button was placed at design time Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click mystud.GetStudid(TextBox1) 'MsgBox("delay") MsgBox(mystud.studid) End Sub End ClassBut if I uncomment the line ['MsgBox("delay")], the code works fine.