将选择案例数据从一个子提取到另一个
问题描述:
大家好我的问题是:是否可以从另一个子提取案例选择数据?我有这样的一个按钮子:将选择案例数据从一个子提取到另一个
'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'
答
正如所建议的,您的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
尝试'选择案例Link_lbl1.Text'然后'案例“约翰”' – SSS
我会给这个镜头感谢您的快速回复! – John
我更新了代码,你给我的选项没有从另一个Select Case中拉出来。 – John