用户定义的类中的C#UpdateListBox方法声明

时间:2011-04-01 02:20:55

标签: c# listbox

嘿,在一个名为Dog的用户定义类中,我有一个存储Dog对象列表的列表:

List<Dog> dogList = new List<Dog>();

在主窗体上我有一个名为dogListBox的listBox控件。

在类I中;我试图创建一个更新listBox控件的方法。但是,当我尝试声明它时,我在dogListBox下得到错误,说当前上下文中不存在dogListBox。如何访问我的表单上的listBox控件以在此方法中使用

由于

public void UpdateListbox()
{
    dogListBox.Items.Clear();
    foreach (Dog dog in dogListBox)
    {
        dogListBox.Items.Add(dog);
    }
}

2 个答案:

答案 0 :(得分:0)

在具有此UpdateListBox的类中,您需要访问表单上的列表框(这是另一个类)

因此,您需要将列表框传递给UpdateListBox方法....或者您需要在类中存储对Form的引用。

或者在表单上添加一个方法,用列表更新列表框。

答案 1 :(得分:0)

您的代码没有意义,因为您从不使用dogList。 UpdateListBox是dog类中表单中的一个方法吗?它应该是您表单中的方法。然后你可以写下这样的东西:

public void UpdateListbox()
        {
            dogListBox.Items.Clear();
            foreach (Dog dog in dog.dogList)
            {
                dogListBox.Items.Add(dog);
            }
        }

表单应该更新列表框而不是狗。

我还想提一下,即使上述作品,其逻辑上也不正确,因为狗不应该有狗列表。但那是另一个问题。