問題は奇妙です。DataSource プロパティ (displaymember と valuemember を含む bindingSource アイテムにバインドされます) を介してアイテムで正しく埋められたコンボボックスがあります。 ID ではなく名前です。問題は、デフォルトのオプション セットが必要なために SelectedValue を変更すると、List プロパティが空であることを発見したことです (コンボ ボックス クラスを別のクラスに継承しました)。 、おそらく問題は、データがデータソースから実際にロードされる時期に関連している可能性があります(おそらく、表示後にのみロードされますか?)。いつ SelectedValue を変更する必要がありますか?コントロールに「Shown」イベントがありません
提案をありがとう
更新 1: 私はあなたの方法でテストしましたが、そうではありません (キーは長いですが、キャストしても機能しません)。実際、興味深いのは、SelectedValue を設定できるセッターがあることです。例外がスローされない場合、次の MessageBox で Items.Count が値として 0 を返します。これは非常に奇妙です。コンボボックスがフォームに表示されると、必要なすべての値が含まれているためです。これが私のセッターのコードです:
public object InputValue
{
get
{
return SelectedValue;
}
set
{
SelectedValue = ((long)value);
MessageBox.Show(this.Items.Count.ToString());
}
}