我有2个CheckedListBoxes。一个是数据绑定(名称为clbAnnually),而另一个(clbMonthly)则不是。对于未绑定的清单框(clbMonthly),我可以使用下面提到的行获取任何项目的文本:
private void clbMonthly_ItemCheck(object sender, ItemCheckEventArgs e)
{
string itemText = clbMonthly.Items[e.Index].ToString();
}
另一方面,在数据绑定checklistbox(clbAnnually)的情况下,我无法使用相同的代码获取项目的文本。为什么会这样?
private void clbAnnually_ItemCheck(object sender, ItemCheckEventArgs e)
{
string itemText1 = clbAnnually.Items[e.Index].ToString();
}
答案 0 :(得分:2)
仅仅因为你在某些情况下意外使用的东西并不意味着它是正确的。
在所有情况下都适用的正确方法是使用专门提供的方法GetItemText
:
string itemText = clbMonthly.GetItemText(clbMonthly.Items[e.Index]);
string itemText1 = clbAnnually.GetItemText(clbAnnually.Items[e.Index]);