【问题标题】:How to access the list of items in a combobox如何访问组合框中的项目列表
【发布时间】:2013-12-05 14:14:06
【问题描述】:

vba 中组合框的 .List 属性的“对象类型”是什么?当我将其视为字符串数组时,我在访问这些项目时遇到了很大的困难。

假设我想遍历列表并检查是否有任何项目与某个字符串匹配,我该怎么做?

【问题讨论】:

  • this 对您有帮助吗?
  • 它是用户窗体上的组合框吗?
  • 请问什么应用程序?它是“列表框”还是“组合框”?
  • 大家好 - 抱歉回复晚了。感谢您提供的链接,它并没有解决我的问题,但对于一般的表单编程非常有用。
  • 是的,它是 Excel 用户窗体中的 ComboxBox。

标签: list vba types combobox


【解决方案1】:

Levraininjaneer,我想我可以帮到你……

我制作了一个带有组合框、按钮和列表框的 Windows 窗体...组合框中有一些项目,如项目 1 到项目 3、“ABC”、“DEF”、“GHI”。 ..

现在,您说要访问列表中的项目?好吧,试试这个...

string[] array = new string[comboBox1.Items.Count];
        int itemCount = comboBox1.Items.Count;


            for (int i = 0; i < itemCount; i++)
            {
                array[i] = (string)comboBox1.Items[i];
                string item = array[i].ToString();
                this.listBox1.Items.Add(item);
            }
MessageBox.Show(array[1]);
MessageBox.Show(array[4]);

它会这样做:

并且代码底部的消息框会显示“Item 2”和“DEF”

如果你想在列表框中“保存”一个项目的实例,你也可以这样做:

string arrayItem = array[3].ToString();
        MessageBox.Show(arrayItem);

这将显示一个消息框,将“ABC”作为索引([方]括号中的数字,它通常从 0 开始......所以如果你输入 array [1] 。它不是第一项,实际上是第二项item... 如果你想得到最后一个 item,如果有 6 个 item,那就是:

array[5];

另外,如果你想检查一个对象是否包含某个字符串,你总是可以使用字符串的 .Contains 方法

.Contains("Item")

希望这会有所帮助:)

Win10Pro(x64) Visual Studio 2015 社区 C# WindowsForm 项目

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-13
    • 2015-11-14
    • 2018-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-16
    相关资源
    最近更新 更多