You are resetting the array list each time your loop iterates.
You need to move the line:
ArrayList list = new ArrayList();
outside the foreach lop so it doesn't get reset.
Additional Response based on comment 1:
This line:
ListBox1.Items.Add((string)list[1]);
This is written to only read element 1 from your list, as a result on the screen (i.e. in your listbox1) you will see the same entry repeated.
Now, I'm slightly unsure what it is exactly you are trying to achieve from your code.
By moving
ArrayList
to outside the outer for loop it will result in every entry in all of the files being stored in the list, from 0 -> X.
Where is the code you are using to write this to a database as this is not in the code example?