Your problem is that you are doing an extra ReadLine in the 'while loop test: so, when you've read the last of the file inside the loop, the last 'while loop test tries to "eat" null. You are going to get every other line in the file until you reach the error condition.
Try this:
using System.IO;
string file = @"e:\" + list_nomber.Text + ".txt";
string currentLine;
list_position.Items.Clear();
using (StreamReader objReader = new StreamReader(file))
{
while ((currentLine = objReader.ReadLine()) != null)
{
list_position.Items.Add(currentLine);
}
objReader.Close();
}