вы можете использовать два разных подхода:
первый:
вы можете определить ValueMember поля со списком для свойства, которое оно должно искать, когда ему данозначение (обычно это идентификатор объекта):
comboBox.ValueMember = "PayeeID";
теперь, когда вы присваиваете comboBox значение типа 4, он будет искать в списке объект, который имеет значение 4;
второй подход:
вы переопределяете метод Equal () Получателя, чтобы сказать, что два объекта одинаковы:
public override Equal(object obj)
{
if (obj is Payee)
return ((obj as Payee).PayeeID == this.PayeeID;
else
return false;
}
сейчасВы можете сделать следующее, чтобы выбрать объект из списка:
comboBox.SelectedItem = wantedPayee;
comboBox использует метод Equal, чтобы получить требуемый объект, который будет выбран из его внутреннего списка;
запомнить: когдаВы не отменяете равенство, реализация по умолчанию (AFAIK) будет сравнивать ссылки, чтобы определить равенство.
Наконец, я должен сказать, что этот подход работает для меня, когда я устанавливаю DataSource ComboBox вручную, иЯ не уверен, работает ли он у васнаш путь (Items.Add ())
comboBox.DataSouce = new List () {new Payee {/ некоторые свойства /}};