它应该重置组合框为无值,组合框在同一面板中,但代码将索引设置为0,这是数据绑定列表的第一个值。它的工作在第二次点击虽然...第一次单击时,它将索引设置为0,第二次单击时设置为-1。
if (((Button)sender).Parent.Controls.OfType<ComboBox>().Count() > 0)
{
foreach(ComboBox C in ((Button)sender).Parent.Controls.OfType<ComboBox>().ToList())
{
if(C.SelectedIndex != -1)
{
C.SelectedIndex = -1;
}
}
}
2条答案
按热度按时间i7uq4tfw1#
也许您可以尝试在ComboBox中添加一个虚拟的第一项作为占位符。
这样,您可以简单地使用
ComboBox.SelectedIndex = 0;
取消选择只是要确保不要将ComboBox中的这个项目解释为任何地方的真实的项目。
另外,试试:
或者:
9q78igpj2#
谢谢大家的回答...最后我用一个变通方案解决了这个问题。问题是,上面代码的按钮需要点击两次才能将index设置为-1。在第一次点击时,它移动到0,第二次移动到-1。我不知道为什么tho...另一个问题是我在combobox上有一个索引更改事件,我只想激发它一次-而不是两次。我是这样解决问题的。。