我有一个将int和string组成的对象数组,我想在表单的列表框中输出它。对象数组在另一个类Item
中是否可以像这样使Form1在类项中识别
还是我必须将结果发送回form1并将其输入到那里的列表框中?
分类项
public void printPQ()
{
for (int i = 0; i < numItems; i++)
{
//contents += (items.elements[i] == null ? null : items.elements[i].name) + "\n";
lblShowPatient.Text = (items.elements[i].priority + items.elements[i].name);
}
}
答案 0 :(得分:0)
您可以将Form1
作为构造函数传递给class
(因为我没有看到名称,因此我们将其称为ClassA
),这样您就可以以下签名:
public Form1 Form1 {get;set;}
public ClassA(Form1 form1)
{
Form1 = form1;
}
然后,当从ClassA
初始化Form1
实例时,您将这样称呼它:
ClassA classA = new ClassA(this); //Where this is the current instance of Form1
这将允许您从类中访问Form1
实例的元素。
但是,这似乎与您真正想要编写的方式有些颠倒。我建议将ClassA
的{{1}}重构为取名为printPQ
并返回一个ExportPQ
。然后,在调用该方法的List<string>
逻辑中,遍历Form1
返回的内容并填写ClassA.ExportPQ
。这使您的ListBox
更加有用,因为您现在可以通过多种UI控件而不只是ClassA
上的特定ListBox
返回此信息。