Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
473 views
in Technique[技术] by (71.8m points)

vb6 - VB Control Naming by Variable

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

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

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...