0

我有一个名为“MyTestClass”的静态类,它包含几个静态方法和变量。在这个类中有一个名为“AddItemToListView”的静态方法,它负责在一个名为“Form1”的 ListView 控件中添加新项目。

如何使用名为“AddItemToListView”的方法访问表单控件以添加此行?

我的问题是关于从静态方法控制访问,而不是关于如何在列表视图中添加项目。

我的方法是:

    public static void AddToListView(string Serial, string URL, string returnValue)
    {
        string[] array = { Serial, URL, returnValue };
        ListViewItem listViewItem = new ListViewItem(array);
        ListViewControl.Items.Add(listViewItem);
    }
4

1 回答 1

0

我已经为此苦苦挣扎了一天,但我想我有一个解决方案。

您可以将以下内容添加到您的类中,假设控件名称是唯一的,将返回您希望从类中控制的控件对象:

private static Control GetControl(Form frmToSearch, string controlname)
{
    Control[] rtnControl = frmToSearch.Controls.Find(controlname,true);
    return rtnControl[0];
}

用法类似于:

Form mainform = new frm_main();
Control lblMain = GetControl(mainform, "lblMain");

从那里应该可以访问控件。

可能有更好的解决方案,但这对我来说似乎是最简单的。

将其置于上述示例的上下文中将类似于以下内容:

public static void AddToListView(string Serial, string URL, string returnValue)
{
    string[] array = { Serial, URL, returnValue };
    ListViewItem listViewItem = new ListViewItem(array);
    Control ListViewControl = GetControl(formReference,"ListviewControlLabel");
    ListViewControl.Items.Add(listViewItem);
}

您需要添加对上述内容的表单引用,但这是在课堂上的某个地方实现的。

于 2013-11-07T16:21:27.853 回答