2017-10-11 32 views
0

大家好我的問題是:是否可以從另一個子提取案例選擇數據?我有這樣的一個按鈕子:將選擇案例數據從一個子提取到另一個

'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

回答

1

正如所建議的,您的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

相關問題