C#でコンボボックスを作成しようとしていますが、何らかの理由でアイテムが表示されません。C#Comboboxでアイテムが表示されない
public List<string> items
{
set
{
combobox.Items.Clear();
foreach(string s in value)
{
combobox.Items.Add(s);
}
combobox.Update();
}
}
これは信じられないほど簡単なコードのように思えます。私は単に何が間違っているかを見ることはできません。 それはこのように呼ばれている:
興味深いことにprivate void StoreNames(List<string> names)
{
if (selectionForm.InvokeRequired)
selectionForm.Invoke((MethodInvoker)delegate { selectionForm.items = names; });
else
selectionForm.items = names;
}
、trueを返しますInvokeRequired
たときに動作しているようですが、それはfalseを返したときに動作しません。
編集: selectionForm.IsHandleCreated
は現在false
です。これはInvokeRequired
をfalseに戻しますが、セッターを定期的に呼び出すことは機能しません。 IsHandleCreated
がfalseに設定されている理由がわかりません。フォームはShow()nでした。
呼び出しコードとは何ですか? –
どのスレッドがプロパティを設定していますか?それはタイマースレッドかメインの "windowsメッセージループ"ですか? –
あなたは良い答えを得るためにもっと多くの情報を入れる必要があると思います。 – hspain