将选择案例数据从一个子提取到另一个

问题描述:

大家好我的问题是:是否可以从另一个子提取案例选择数据?我有这样的一个按钮子:将选择案例数据从一个子提取到另一个

'Public Sub btnSearch_Click(sender As Object, e As EventArgs) Handles   

btnSearch.Click 

Dim strInvalid As String = txtUsername.Text 

Dim frmIdenitityCheckerResults As New frmIdenitityCheckerResults() 

Select Case True 

Case txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 
0)) 

Me.Close() 

My.Forms.frmIdenitityCheckerResults.TopLevel = False 

My.Forms.FrmWorkTool.Panel2.Controls.Add 
(My.Forms.frmIdenitityCheckerResults) 


my.Forms.frmIdenitityCheckerResults.Show() 

My.Forms.frmIdenitityCheckerResults.Label2.Text = "John" 

My.Forms.frmIdenitityCheckerResults.lblSSN.Text = "1211" 

My.Forms.frmIdenitityCheckerResults.lblCompany.Text = strPhoenix 

My.Forms.frmIdenitityCheckerResults.lblEMP.Text = "1" 

My.Forms.frmIdenitityCheckerResults.lblStartDate.Text = "10/10/2017" 

Case txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 2)) 

Me.Close() 

My.Forms.frmIdenitityCheckerResults.TopLevel = False 

My.Forms.FrmWorkTool.Panel2.Controls.Add 
(My.Forms.frmIdenitityCheckerResults) 

My.Forms.frmIdenitityCheckerResults.Show() 

My.Forms.frmIdenitityCheckerResults.Label2.Text = "Terri" 

My.Forms.frmIdenitityCheckerResults.lblSSN.Text = "4218" 

My.Forms.frmIdenitityCheckerResults.lblCompany.Text = strPhoenix 

My.Forms.frmIdenitityCheckerResults.lblEMP.Text = "2" 

My.Forms.frmIdenitityCheckerResults.lblStartDate.Text = "10/10/2017"' 
Case txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 1)) 
      Link_lbl1.Text = "John" 

Case txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 3)) OrElse 
     txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 3)) OrElse 
     txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 3)) OrElse 
     txtUsername.Text = (ReadALine(filename, GetNumberOfLines(filename), 3)) 
      Link_lbl1.Text = "Terri" 
      Link_lbl2.Text = "Jordan" 
      Link_lbl3.Text = "Lisa" 
      Link_lbl4.Text = "David" 

我想从这个选择案牵出数据输入下面的代码中

Private Sub link_lbl1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles Link_lbl1.LinkClicked 

    Select Case 
     Case Link_lbl1.Text = "John" 
      btnSearch 1 

      Case Link_lbl1.Text = "Terri" 
    End Select 

End Sub' 

但我不能确定这是否是一种可能性或不,如果任何人都可以指出我在正确的方向它将不胜感激。

我尝试:

Select Case link_lbl1.text 
    Case "John" 

但抛出一个错误,并没有从我以前的情况下,选择提取数据。 我可以使用下面的工作,但不知道是否有更简单的方法去解决它。

Private Sub link_lbl1_LinkClicked(sender As Object, e As 
LinkLabelLinkClickedEventArgs) Handles Link_lbl1.LinkClicked 
    Select Case True 
     Case Link_lbl1.Text = "John" 
      Me.Close() 
      My.Forms.frmIdenitityCheckerResults.TopLevel = False 
      My.Forms.FrmWorkTool.Panel2.Controls.Add(My.Forms.frmIdenitityCheckerResults) 
      My.Forms.frmIdenitityCheckerResults.Show() 
      My.Forms.frmIdenitityCheckerResults.Label2.Text = "John" 
      My.Forms.frmIdenitityCheckerResults.lblSSN.Text = "1211" 
      My.Forms.frmIdenitityCheckerResults.lblCompany.Text = strPhoenix 
      My.Forms.frmIdenitityCheckerResults.lblEMP.Text = "1" 
      My.Forms.frmIdenitityCheckerResults.lblStartDate.Text = "10/10/2017" 
     Case Link_lbl1.Text = "Terri" 
      Me.Close() 
      My.Forms.frmIdenitityCheckerResults.TopLevel = False 
      My.Forms.FrmWorkTool.Panel2.Controls.Add(My.Forms.frmIdenitityCheckerResults) 
      My.Forms.frmIdenitityCheckerResults.Show() 
      My.Forms.frmIdenitityCheckerResults.Label2.Text = "Terri" 
      My.Forms.frmIdenitityCheckerResults.lblSSN.Text = "4218" 
      My.Forms.frmIdenitityCheckerResults.lblCompany.Text = strPhoenix 
      My.Forms.frmIdenitityCheckerResults.lblEMP.Text = "2" 
      My.Forms.frmIdenitityCheckerResults.lblStartDate.Text = "10/10/2017" 
    End Select 
End Sub' 
+0

尝试'选择案例Link_lbl1.Text'然后'案例“约翰”' – SSS

+0

我会给这个镜头感谢您的快速回复! – John

+0

我更新了代码,你给我的选项没有从另一个Select Case中拉出来。 – John

正如所建议的,您的Select Case是错误的开始。而不是这样的:

Select Case True 
    Case Link_lbl1.Text = "John" 
     '... 
    Case Link_lbl1.Text = "Terri" 
     '... 
End Select 

你应该这样做:

Select Case Link_lbl1.Text 
    Case "John" 
     '... 
    Case "Terri" 
     '... 
End Select 

至于这个问题,我认为你的意思是,你想避免重复自己在每个Case块。如果是这样,那么首先要做的是确定什么是共同的,什么是特定的。您可以将通用部分复制到方法中,然后为每个特定部分添加参数,例如

Private Sub DoSomething(label2Text As String, ssn As String, emp As String) 
    With My.Forms.frmIdenitityCheckerResults 
     .TopLevel = False 
     .Show() 
     .Label2.Text = label2Text 
     .lblSSN.Text = ssn 
     .lblCompany.Text = strPhoenix 
     .lblEMP.Text = emp 
     .lblStartDate.Text = "10/10/2017" 
    End With 

    My.Forms.FrmWorkTool.Panel2.Controls.Add(My.Forms.frmIdenitityCheckerResults) 
    Me.Close() 
End Sub 

然后,您可以在每个Case块中调用该方法,并为每个参数传入适当的值。

请注意,我也使用With块来更新该代码并更合适地重新排序。

+0

啊我现在明白了,这就是我想弄明白的感谢一堆! – John