.net 是否可以使用格式文本框(x).text来避免多个语句?

.net 是否可以使用格式文本框(x).text来避免多个语句?,.net,vb.net,if-statement,textbox,controls,.net,Vb.net,If Statement,Textbox,Controls,"多句话", Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click Dim i as Integer i = ab.text Dim x1 as double x1 = textbox(i).text End Sub 与Wilko先生的解决方案不同的是,通过创建控件的特定数组 'Find the textboxes based on the value

"多句话",

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Dim i as Integer
    i = ab.text 
    Dim x1 as double
    x1 = textbox(i).text
End Sub

与Wilko先生的解决方案不同的是,通过创建控件的特定数组

'Find the textboxes based on the value in cross1.Text
Dim aftTxt As TextBox = CType(Me.Controls("aft" + cross1.Text), TextBox) 
Dim bftTxt As TextBox = CType(Me.Controls("bft" + cross1.Text), TextBox)    
Dim ainTxt As TextBox = CType(Me.Controls("ain" + cross1.Text), TextBox) 
Dim binTxt As TextBox = CType(Me.Controls("bin" + cross1.Text), TextBox) 

'now find the values based on the specfici textboxes
Dim x1 As Double = xcoord((inches(aftTxt.Text, ainTxt.Text)), (inches(bftTxt.Text, binTxt.Text)))
xt1.Text = x1
Dim y1 As Double = ycoord((inches(aftTxt.Text, ainTxt.Text)), (inches(bftTxt.Text, binTxt.Text)))
yt1.Text = y1

这里的优势在于,您可以决定如何命名控件,而无需使用顺序名称来检索控件,还可以决定读取控件的顺序(取决于将控件放入数组的顺序)

什么是
textbox(i)
?另外,打开选项StrictShow,向我们展示包含“几个语句”的代码,我们可以建议一种优化它的方法。现在,如果没有上下文,你的例子很难分析。另外,打开选项Strict:)我希望“1”在后面(1)。text ain(1)。text等。。
'Find the textboxes based on the value in cross1.Text
Dim aftTxt As TextBox = CType(Me.Controls("aft" + cross1.Text), TextBox) 
Dim bftTxt As TextBox = CType(Me.Controls("bft" + cross1.Text), TextBox)    
Dim ainTxt As TextBox = CType(Me.Controls("ain" + cross1.Text), TextBox) 
Dim binTxt As TextBox = CType(Me.Controls("bin" + cross1.Text), TextBox) 

'now find the values based on the specfici textboxes
Dim x1 As Double = xcoord((inches(aftTxt.Text, ainTxt.Text)), (inches(bftTxt.Text, binTxt.Text)))
xt1.Text = x1
Dim y1 As Double = ycoord((inches(aftTxt.Text, ainTxt.Text)), (inches(bftTxt.Text, binTxt.Text)))
yt1.Text = y1
Dim aftBoxes = new TextBox() {aft1, aft2, aft3}
Dim ainBoxes = new TextBox() {ain1, ain2, ain3}
Dim bftBoxes = new TextBox() {bft1, bft2, bft3}
Dim binBoxes = new TextBox() {bin1, bin2, bin3}

Dim index = Convert.ToInt32(cross1.Text) - 1
Dim x1 As Double = xcoord((inches(aftBoxes(index).Text, ainBoxes(index).Text)), 
                          (inches(bftBoxes(index).Text, binBoxes(index).Text)))
xt1.Text = x1
Dim y1 As Double = ycoord((inches(aftBoxes(index).Text, ainBoxes(index).Text)), 
                          (inches(bftBoxes(index).Text, binBoxes(index).Text)))
yt1.Text = y1