Ciao, forse ad entrambe le proprietà ValueMember e DisplayMember non hai assegnato delle stringhe. Dovrebbe essere, ad esempio, così:
public Form1()
{
InitializeComponent();
List<Riga> elenco = new List<Riga>();
elenco.Add(new Riga() { ID = 1, Name = "Alberto" });
elenco.Add(new Riga() { ID = 2, Name = "Davide" });
elenco.Add(new Riga() { ID = 3, Name = "Francesco" });
elenco.Add(new Riga() { ID = 4, Name = "Giuseppe" });
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "Name";
comboBox1.DataSource = elenco;
}
class Riga
{
public int ID { get; set; }
public string Name { get; set; }
}