No, it doesn't have to do with those two lines. Those two lines control how the bound ListBox behaves. DisplayMember is the name of the property or column whose data should be displayed, hence you see the Name values in the ListBox. ValueMember is the name of the property or column whose data should be exposed via the SelectedValue, hence when the user selects a Name you can get the corresponding Filepath from the SelectedValue of the ListBox.

If you wanted to do things the hard way, you could handle the SelectedIndexChanged event of the ListBox, get the SelectedValue and then display that in the Label. If you've already bound the ListBox though, it's only logical to bind the Label as well. Instead of assigning the array to the DataSource of the ListBox directly, assign it to a variable first. You can then bind it to both the ListBox and the Label:
vb.net Code:
  1. Dim items = (From ...).ToArray()
  2.  
  3. ListBox1.DataSource = items
  4. Label1.DataBindings.Add("Text", items, "Filepath")
Once bound, the Label will always display the Filepath of the item selected in the ListBox.