WinForm に通常の ComboBox があります。都市を入力し、そのデータバインディングをビジネス オブジェクト CityID に設定したいと考えています。オブジェクトは Office {ID, Name, CityID} です。そのようなアイテムを入力します
public void LoadCityCombo(List<City> list)
{
CityComboBox.DisplayMember = "Name";
CityComboBox.ValueMember = "ID";
CityComboBox.DataSource = list;
}
オブジェクトをロードするより
public void LoadOffice(Office office)
{
NameTextBox.DataBindings.Add("Text", office, "Name");
AddressTextBox.DataBindings.Add("Text", office, "Address");
Binding b = new Binding("SelectedValue", office, "CityID");
CityComboBox.DataBindings.Add(b);
}
フォームを開くと適切な都市が選択されますが、コンボから別の都市を選択して他のコントロールに移動すると (コンボ フォーカスが緩む)、古い選択都市がコンボに返されます。
私は何を台無しにしていますか?