Dynamically changing button label from a variable

P

Paulers

Hello,

I have an arraylist that looks like this: 1,4,6

I have buttons called button1, button4, button6.

I would like to change the text on the buttons that corispond to the
numbers in the array. Is there a dynamic way to do this? or do I have
to loop through the arraylist and use a switch to update them?

like is ther any way to do something like this

Dim button as String
For i = 0 To al.Count - 1
button = "button" & al.Item(i)
button.Text = "text changed"
Next

thanks!
 
G

Guest

Paulers,

In VB2005 you could do something like this:

For Each i As Integer In al
Me.Controls("Button" & i.ToString).Text = "Text changed"
Next

Kerry Moorman
 
T

Tom Leylan

If you control over how it is all set up (i.e. you've created the array and
the buttons) perhaps it would be better to create an array of buttons
references. It is quite limiting to enforce a rule whereby buttons must be
named "button1", etc. in order for a routine to work. If instead you create
an array of button references "any" button can be included and (in your
example) the button text will change.

Consider not hard coding the "text" into your loop as well. You can pass
the text into the method along with the array and FOR EACH the text into
every button in the array and then any number of buttons can be changed to
any arbitrary chunk of text.

Tom
 
C

Cor Ligthert [MVP]

Paulers,

In addition to the others, the Tag property can be very handy in this to
seperate some buttons from others.

Otherwise of course the array of existing buttons

dim myButtonArray as button() = {button1, button4, button6, buttonwhatever}

Cor
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top