在组合框中选择最后添加的列表项

Sri*_*h S 3 c# combobox winforms

我使用组合框,不受 C# 中数据源的限制。

cmbBox.Items.Add("apple");
cmbBox.Items.Add("orange");
cmbBox.Items.Add("banana");
Run Code Online (Sandbox Code Playgroud)

现在我想将 SelectedIndex 设置为最终添加“banana”,但不能使用 cmbBox.SelectedIndex = cmbBox.Items.count -1; 因为组合框已排序!

请问有什么提示吗?

Sri*_*h S 5

好吧,我在参考文档后想通了。我应该做的就是捕获 cmbBox.Items.Add("something") 语句的返回值并将其设置为 cmbBox.SelectedIndex

nReturn = cmbBox.Items.Add("first");
...
nReturn = cmbBox.Items.Add("last");
cmbBox.SelectedIndex = nReturn;
Run Code Online (Sandbox Code Playgroud)

希望这对某人有所帮助。


Man*_*rin 3

以下对我有用

ComboBox cb = new ComboBox();
cb.Sorted = true;
cb.SelectedIndex = cb.Items.Add("apple");
cb.SelectedIndex = cb.Items.Add("orange");
cb.SelectedIndex = cb.Items.Add("banana");
Run Code Online (Sandbox Code Playgroud)

index = 1选择最后一行后selected item = banana

  • 尽管在添加时为每个项目设置 selectedindex 是不必要的并且会产生额外的负载,但您已经接近答案。谢谢。 (2认同)