获取列表框项的属性

时间:2014-08-18 07:22:00

标签: c# winforms listbox

我正在以winforms制作一个项目。我有一个在运行时填充的列表框,其中包含列表中的自定义类对象。对于每个对象,我有一个相关的按钮。我希望程序在单击按钮时返回列表框中关联对象的一个​​属性。我还想在列表框中选择项目。

列表框的人口:

 private void UpdateList()
 {
     listbox.Items.AddRange(Custom_list.ToArray());
 }

单击关联按钮时触发的事件:

associatedButton.MouseUp += (sender, eventArgs) =>
{
    Button btn = (Button)sender;
    for (int j = 0; j < listbox.Items.Count; j++)
    {
        if (listbox.GetItemText(j) == btn.Tag.ToString())
        {
            listbox.SelectedItem = j;
        }
    }
}

此代码的要点是,获取列表中给定对象的MyObject.id属性(这是一个字符串),或者该项目的列表框中显示的文本(这两个是相同的)。还创建了btn.Tag来存储相应对象的字符串id值。 但是listbox.GetItemText(j)(或listbox.Items(j).ToString())似乎没有返回任何值。它不会抛出异常,但只是跳过if结构。 对此有何解决方案?

0 个答案:

没有答案