Для простого связывания данных это будет работать
cl.Person = new Person{ Name="Harold" };
comboBox.DataBindings.Add("Text",cl.Person, "Name");
Но я не думаю, что вы этого хотите.Я думаю, что вы хотите привязать к списку элементов, а затем выберите один.Чтобы связать со списком элементов и показать свойство Name, попробуйте следующее:
comboBox.DataSource = new List<Person> {new Person{Name = "1"}, new Person{Name = "2"}};
comboBox.DisplayMember = "Name";
При условии, что ваш класс Person переопределяет Equals (), так что, скажем, Person равен другому, если у них одинаковое имятогда привязка к свойству SelectedItem будет работать следующим образом:
Cl cl = new Cl {Person = new Person {Name="2" }};
comboBox.DataBindings.Add("SelectedItem", cl, "Person");
Если вы не можете переопределить Equals (), вам просто нужно убедиться, что вы ссылаетесь на экземпляр Person из списка DataSource,поэтому приведенный ниже код работает для вашего конкретного кода:
Cl cl = new Cl();
cl.Person = ((List<Person>)comboBox1.DataSource)[1];
comboBox.DataBindings.Add("SelectedItem", cl, "Person");