checkedListBox事件 - 获取所选项/对象属性

时间:2013-02-04 15:21:05

标签: winforms events object checkedlistbox

我正在填充一个带有对象的checklistbox,该对象处理组件的路径。如何从与所选索引关联的对象中获取特定属性?我目前正在使用SelectedIndexChanged事件,我尝试过SelectedItem,SelectedValue,SelectedIndex。我可以使用checkedListBox1.SelectedValue.GetType()获取属性类型,但不能获取值.GetProperty(“fullPath”)。感谢。

            Class1 c1;
            List<object> files = new List<object>();

            foreach(var value in filteredFiles1)
            {
                c1 = new Class1(value);
                checkedListBox1.DisplayMember = "fileName";
                files.Add(c1);                    
            }

            checkedListBox1.DataSource = files;  

1 个答案:

答案 0 :(得分:1)

您应该能够将CheckedListBox SelectedItem强制转换为您的类的实例,然后访问范围内的任何属性。这是一个例子:

    private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Class1 c = (Class1)checkedListBox1.SelectedItem;
        MessageBox.Show(c.fileName);
        MessageBox.Show(c.fullPath);
    }

我建议做一些额外的检查以确保对象不为空(即如果SelectedIndex变为-1)。