471,317 Members | 2,583 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,317 software developers and data experts.

quick easy answer for this question

I am kind of new to C sharp; I have a quick question I have multiple
text boxes 12 of them to be exact. What I want to do is fill them with
values that are in a array of integers. The way I am currently doing
this is like this..

input0.Text = Convert.ToString(arr[0]);
input1.Text = Convert.ToString(arr[1]);
input2.Text = Convert.ToString(arr[2]);
input3.Text = Convert.ToString(arr[3]);
input4.Text = Convert.ToString(arr[4]);
input5.Text = Convert.ToString(arr[5]);
input6.Text = Convert.ToString(arr[6]);
input7.Text = Convert.ToString(arr[7]);
input8.Text = Convert.ToString(arr[8]);
input9.Text = Convert.ToString(arr[9]);
input10.Text = Convert.ToString(arr[10]);
input11.Text = Convert.ToString(arr[11]);

What I am looking for is about 3 lines of code; something like this...

for(i = 0; i< arr.Length; i++)
{
input[i].Text = Convert.ToString(arr[i]);
//NOTE: I am using [i] as the subscript for the texboxes
}

I doubt this can be done in C sharp; but any help or ideas will be
appreciated. Also note that I posted the same message on the c-sharp
message board; but it doesn't look like it gets as much traffic as this
group does.

Thanks,
-Jimmie

Feb 10 '06 #1
7 1330
> What I am looking for is about 3 lines of code; something like this...

for(i = 0; i< arr.Length; i++)
{
input[i].Text = Convert.ToString(arr[i]);
//NOTE: I am using [i] as the subscript for the texboxes
}
What youu're talking about doing is using an indexer. In order to do that,
the Controls have to be in an array or a Collection. Of course, you can put
them into one if you wish.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
We got a sick zebra a hat,
you ultimate tuna.
<ji******@hotmail.com> wrote in message
news:11*********************@g43g2000cwa.googlegro ups.com...I am kind of new to C sharp; I have a quick question I have multiple
text boxes 12 of them to be exact. What I want to do is fill them with
values that are in a array of integers. The way I am currently doing
this is like this..

input0.Text = Convert.ToString(arr[0]);
input1.Text = Convert.ToString(arr[1]);
input2.Text = Convert.ToString(arr[2]);
input3.Text = Convert.ToString(arr[3]);
input4.Text = Convert.ToString(arr[4]);
input5.Text = Convert.ToString(arr[5]);
input6.Text = Convert.ToString(arr[6]);
input7.Text = Convert.ToString(arr[7]);
input8.Text = Convert.ToString(arr[8]);
input9.Text = Convert.ToString(arr[9]);
input10.Text = Convert.ToString(arr[10]);
input11.Text = Convert.ToString(arr[11]);

What I am looking for is about 3 lines of code; something like this...

for(i = 0; i< arr.Length; i++)
{
input[i].Text = Convert.ToString(arr[i]);
//NOTE: I am using [i] as the subscript for the texboxes
}

I doubt this can be done in C sharp; but any help or ideas will be
appreciated. Also note that I posted the same message on the c-sharp
message board; but it doesn't look like it gets as much traffic as this
group does.

Thanks,
-Jimmie

Feb 10 '06 #2
<ji******@hotmail.com> wrote:
I am kind of new to C sharp; I have a quick question I have multiple
text boxes 12 of them to be exact. What I want to do is fill them with
values that are in a array of integers. The way I am currently doing
this is like this..
<snip>
What I am looking for is about 3 lines of code; something like this...

for(i = 0; i< arr.Length; i++)
{
input[i].Text = Convert.ToString(arr[i]);
//NOTE: I am using [i] as the subscript for the texboxes
}

I doubt this can be done in C sharp; but any help or ideas will be
appreciated. Also note that I posted the same message on the c-sharp
message board; but it doesn't look like it gets as much traffic as this
group does.


The best thing to do would be to have an array instead of 12 different
fields. You won't get a lot of designer support for it, but it's not
hard to do manually.

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Feb 10 '06 #3
First, you should be using generics instead of an array. See:
http://msdn.microsoft.com/library/de...p_generics.asp

Now, for a WinForm app:

for (int i = 0; i < list.Count; i++)
{
TextBox t = (TextBox)
Controls[string.Format("TextBox{0}", i)];
t.Text = list[i].ToString();
}

For a WebForm app:
for (int i = 0; i < list.Count; i++)
{
TextBox t = (TextBox)
FindControl(string.Format("TextBox{0}", i));
t.Text = list[i].ToString();
}

David Barkol
www.neudesic.com

Feb 10 '06 #4
Aight kool so basically search indexer + examples on the net?

-Jimmie

Feb 10 '06 #5
Ahh aight good deal guys, thanks for the info.

-Jimmie

Feb 10 '06 #6
Hi jimi,

You actually can do this in C# with some careful control naming. Below is
some sample code that should help:

//There are 9 text boxes, what this will do is set the text in
each of the
//textboxes to the value of that textboxes index in the
form.control array.
for (int i = 1; i < 9; i++)
{
//this call will find the location of the textbox by name,
so it's important
//to note that my textboxes are named textBox1,textBox2,etc.
int controlLocation = this.Controls.IndexOfKey("textBox" +
i.ToString());

//Now we access that control through the form.control array
and change it's text
this.Controls[controlLocation].Text = i.ToString();
}

That should help you out hopefully! If this is what you were looking for
please remember to mark the thread as answered. Thanks!
"ji******@hotmail.com" wrote:
I am kind of new to C sharp; I have a quick question I have multiple
text boxes 12 of them to be exact. What I want to do is fill them with
values that are in a array of integers. The way I am currently doing
this is like this..

input0.Text = Convert.ToString(arr[0]);
input1.Text = Convert.ToString(arr[1]);
input2.Text = Convert.ToString(arr[2]);
input3.Text = Convert.ToString(arr[3]);
input4.Text = Convert.ToString(arr[4]);
input5.Text = Convert.ToString(arr[5]);
input6.Text = Convert.ToString(arr[6]);
input7.Text = Convert.ToString(arr[7]);
input8.Text = Convert.ToString(arr[8]);
input9.Text = Convert.ToString(arr[9]);
input10.Text = Convert.ToString(arr[10]);
input11.Text = Convert.ToString(arr[11]);

What I am looking for is about 3 lines of code; something like this...

for(i = 0; i< arr.Length; i++)
{
input[i].Text = Convert.ToString(arr[i]);
//NOTE: I am using [i] as the subscript for the texboxes
}

I doubt this can be done in C sharp; but any help or ideas will be
appreciated. Also note that I posted the same message on the c-sharp
message board; but it doesn't look like it gets as much traffic as this
group does.

Thanks,
-Jimmie

Feb 10 '06 #7
Not sure on how to mark as answered; but thank you everyone.

-Jimmie

Feb 10 '06 #8

This discussion thread is closed

Replies have been disabled for this discussion.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.