The Sort method is a static method of the Array class, not a member method of List<T>, so you have to use Array.Sort(...) to call it - like you've done in the animals/places example.

I don't think it will work for lists - try it yourself, but even if it doesn't, after you've done adding your strings, call the ToArray() member method of the List<T> generic class to obtain a String[].

Do this for both of your lists, and store the arrays in variables. After that, you can use them with the Array.Sort(Array, Array) method.

So:
Code:
string[] files1 = filelist1.ToArray();
string[] files2 = filelist2.ToArray();
Array.Sort(files1, files2);

// use files1 and files2 to populate your list boxes.
There's an alternate approach, but I suggest that you at least try to get this to work first, since you'll be able to learn from the experience.
As for the alternate approach - you could use the SortedList<KeyType, ValueType> class; declare with SortedList<string, string>, use the Add(string, string) method of this class to add the file name and path at the same time, and in that order. The list will be sorted automatically. You can get the file names using the Keys property, and the paths using the Values property.

P.S. This is your own free choice, but

for (int i = 1; i <= Filelist.Count - 1; i++)

is usually written as

for (int i = 1; i < Filelist.Count; i++).