2

C# でコンボボックスをコーディングしていますが、何らかの理由でドロップダウンの項目にテキストがありません。項目を選択すると、コンボ ボックスのテキスト フィールドに表示されます (ドロップダウン ボタンをクリックすると、ドロップダウン リストは常に空白になります)。項目を選択すると適切な値が返されるため、データソースは適切にバインドされているように見えます。ドロップダウン リストのサイズは、データソースの項目数に応じて変化します。アイテムが選択されるとすぐに適切なテキストが表示されるため、明らかにそうではありません。

これは関連するコードです:

if (list.Count > 0)
{
    cboCustomers.DisplayMember = "Name";
    cboCustomers.DataSource = list;                
    cboCustomers.ValueMember = "ID";                
    cboCustomers.SelectedIndex = 0;                
}

これに対する答えを探しましたが、どこにも見つかりません...本当に単純なものだと確信していますが、わかりません。私が見つけた最も近い問題には、データ ソースの前に表示メンバーを設定するように提案された回答がありましたが、これは明らかに機能しませんでした。

リストは、データベース クエリから生成されます。これは keyUp で実行されます。アイデアは、与えられた情報に基づいて人が入力しているときにリストが入力されるということです。したがって、「S」と書いた場合、すべてのクライアントが「S」で始まるドロップダウンのあるコンボボックスが表示されます。

4

2 に答える 2

12

バインディングに異常がない場合、またはDrawModeに設定されている ComboBox のプロパティの影響を受けている可能性があります。に設定すると、状況が改善されるはずです。OwnerDrawFixedOwnerDrawVariableNormal

于 2013-08-05T19:30:34.983 に答える
2

アイテムが選択されるとすぐに、適切なテキストが表示されます。

背景色と同じ前景色は、あなたが見ているのと同じ結果を生み出します。

于 2013-08-05T19:35:35.977 に答える