C# 如何在winform c中设置列表框的默认选定项?
我试着这样设置: ListBox lb=新的ListBox; /*绑定数据*/ lb.SelectedItem=someObject lb真实地选择了someObject项。但它会首先选择第一项。这个动作导致了我不想要的SelectedIndexChanged事件 我只想在选择某个对象时调用SelectedIndexChanged。C# 如何在winform c中设置列表框的默认选定项?,c#,winforms,listbox,C#,Winforms,Listbox,我试着这样设置: ListBox lb=新的ListBox; /*绑定数据*/ lb.SelectedItem=someObject lb真实地选择了someObject项。但它会首先选择第一项。这个动作导致了我不想要的SelectedIndexChanged事件 我只想在选择某个对象时调用SelectedIndexChanged。 如何解决此问题?在将selectedItem更改为某个对象之前,不要添加selectedIndexChanged事件 将事件从窗体编辑器或designer.cs中删
如何解决此问题?在将selectedItem更改为某个对象之前,不要添加selectedIndexChanged事件
将事件从窗体编辑器或designer.cs中删除,并使用自动生成的代码手动添加该事件?在窗体/控件上使用一个标志,在不希望触发事件时禁用该事件
public class Form1 : Form
{
private bool itemsLoading;
public Form1()
{
InitializeComponent();
LoadListItems();
}
private void LoadListItems()
{
itemsLoading = true;
try
{
listBox1.DataSource = ...
listBox1.SelectedItem = ...
}
finally
{
itemsLoading = false;
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (itemsLoading)
return;
// Handle the changed event here...
}
}