Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Dim LineNo as Integer

LineNo = CStr(channel) 'This can have a value of 1 to 100

If LineNo = 1 then
    Text1.Text = "Line one selected"
    Elseif LineNo = 2 then
    Text2.Text = "Line one selected"
    'Etc etc
End if

I need to replace the number "1" in Text1.Text and every other TextBox with the value of LineNo? For example:

Text{LineNo}.Text

So I would not have to do a repeated "If" and have a smaller one line code like this:

Text{LineNo}.Text = "Line " & LineNo & " selected"

How would I do this?

question from:https://stackoverflow.com/questions/65877820/vb-control-naming-by-variable

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
488 views
Welcome To Ask or Share your Answers For Others

1 Answer

Look into a Control array of text boxes. You could have txtLine(), for example, indexed by the channel number.

 LineNo = CStr(channel)

 txtLine(channel).Text = "Line " & LineNo & " selected"

To create the array, set the Index property of each of the text boxes to an increasing integer, starting at 0.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...