Urgent Help required

I need to know how i can save all of the entries in a listbox1 into seperate variables e.g entry1,entry2,entry3

I would be really greatful if someone could give me the code for this
zzgg5kmyAsked:
Who is Participating?
 
purpleblobCommented:
Well firstly to copy all elements out of the listBox1.Items use CopyTo

Thus

object[] files = new object[listBox1.Items.Count];
listBox1.Items.CopyTo(files, 0);

Shows the CopyTo used and then to get at an element in the array simply use

// assigns the element from array files to a string
string file = (string)files[0];

Is this what you're after ?

0
 
purpleblobCommented:
Can you elaborate ? I mean to get the items within a ListBox you simply interact with the listbox1.Items collection

So to interact with items (when you're storing strings in the list box) you simply do something like

foreach(string i in listBox1.Items)
{
   MessageBox.Show(i);
}

Obviously you could create an Array or ArrayList (or other collection and within the foreach assign i to your new collection.

But in terms of storing to specific variables, such as entry1, entry2 etc. you'd need to know in advance how large you listbox items collection is and thus declare enough entry variables. The simply do the following

entry1 = (string)listBox1.Items[0];
entry2 = (string)listBox1.Items[1];
etc.

Again assuming you're storing strings in the listbox
0
 
purpleblobCommented:
Can you elaborate ? I mean to get the items within a ListBox you simply interact with the listbox1.Items collection

So to interact with items (when you're storing strings in the list box) you simply do something like

foreach(string i in listBox1.Items)
{
   MessageBox.Show(i);
}

Obviously you could create an Array or ArrayList (or other collection) and within the foreach assign i to your new collection.

But in terms of storing to specific variables, such as entry1, entry2 etc. you'd need to know in advance how large you listbox items collection is and thus declare enough entry variables. The simply do the following

entry1 = (string)listBox1.Items[0];
entry2 = (string)listBox1.Items[1];
etc.

Again assuming you're storing strings in the listbox
0
Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

 
TonylmillerCommented:
This will print a list to the console of up to 6 items.  You can substitute individual variables if you wish.

                  string[] listboxItems = new string[6];

                  for (int i = 0; i < listBox1.Items.Count; i++)
                  {
                        listboxItems[i] = listBox1.Items[i].ToString();
                  }
                  for (int i = 1; i <= listBox1.Items.Count; i++)
                  {
                        Console.WriteLine("Item #" + i.ToString() + " = " + listboxItems[i-1]);
                  }
0
 
purpleblobCommented:
Can you elaborate ? I mean to get the items within a ListBox you simply interact with the listbox1.Items collection

So to interact with items (when you're storing strings in the list box) you simply do something like

foreach(string i in listBox1.Items)
{
   MessageBox.Show(i);
}

Obviously you could create an Array or ArrayList (or other collection) and within the foreach assign i to your new collection.

But in terms of storing to specific variables, such as entry1, entry2 etc. you'd need to know in advance how large you listbox items collection is and thus declare enough entry variables. The simply do the following

entry1 = (string)listBox1.Items[0];
entry2 = (string)listBox1.Items[1];
etc.

Again assuming you're storing strings in the listbox
0
 
purpleblobCommented:
Sorry about the second post of the same answer experts-exchange.com seemed to a have died on me, but obviously it did get through. :-)
0
 
zzgg5kmyAuthor Commented:
Ok to clear thing up, i have a listbox in one class file i need to pass them across to another class, i think in an array would be best as i need to some how to something like this


for loop
i =0
filename = listboxarray [i]

if regex match file1, within the contents of filename

          {
              // Do stuff
          }

else
          {
              i++
          }


Basically i need all of the values from the listbox into an array so everytime the for loop happens it uses the next filename that was in the listbox, therefore it is checking each file for the contents of file1, if it is successful it does the stuff i need, if not it increments i and trys the next filename
0
 
zzgg5kmyAuthor Commented:
Also i need to know how i would get the value from the array.

i.e

file = array[0]

i dont know if that is right what i am trying to say if file = the text at position 0, could i put a varibale in there like (i) so that on the second loop it would assign the value at position 1 to file and so on
0
 
TonylmillerCommented:
My example shows how to put them in and get them out.

Good luck!

Tony

By the way, you might want to use more descriptive subjects.  "How to Get Items List from a ListBox" would be much better than "Urgent Help required".
0
 
zzgg5kmyAuthor Commented:
How do i pass these across to another another class file.

I need to do this in one class file

object[] files = new object[listBox1.Items.Count];
listBox1.Items.CopyTo(files, 0);


and this in another

string file = (string)files[0];
0
 
zzgg5kmyAuthor Commented:
I have done it i have used a bit from each of you code, so i will award both of you 155 points each
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.