这是我的代码:
public LayoutScheduler(){
InitializeComponent();
this.Load += (sender, args) =>
{
this.LoadLayouts();
};
}
public void LoadLayouts()
{
ImmutableSet<string> layoutNames = _store.Current.Keys;
layoutComboBox.BeginUpdate();
foreach (string name in layoutNames)
{
layoutComboBox.Items.Add(name);
}
layoutComboBox.EndUpdate();
layoutComboBox.SelectedIndex = 0;
}
我在我的设计器中将此 ComboBox 设置为 DropDownList 样式,但是,在调试中我可以看到 ComboBox 项目列表增长,当它显示时,它将显示第一个项目作为默认值,但是我不能下拉名单。
如果我然后将 DropDownStyle 更改为一个简单的、可编辑的 DropDown,并做同样的事情,我会得到相同的行为,直到我选择下拉列表中的文本,此时我可以下拉列表。
我一生都无法弄清楚这里发生了什么。有任何想法吗?
编辑:这是如何调用此用户控件并将其添加到表单并显示的代码:
var layoutSchedulerControl = new LayoutScheduler(connected.Connection.Store, connected.Connection.Schedules);
Form layoutSchedulerForm = Statics.CreateForm("Layout Scheduler", layoutSchedulerControl);
layoutSchedulerForm.ShowDialog(this);
layoutSchedulerForm.Dispose();