c# - 从 Windows Form1 访问 printQueue 类
问题描述
我有一个对象数组将是 int 和 string,我想将它输出到表单中的列表框中。对象数组在另一个类 Item
是否可以像这样让 Form1 在 Class Item 中识别
还是我必须将结果发送回 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);
}
}
解决方案
您可以将您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
'sprintPQ
而不是命名ExportPQ
并返回 a List<string>
。然后在Form1
调用该方法的逻辑中,遍历返回的内容ClassA.ExportPQ
并填写ListBox
. 这让您ClassA
变得更加有用,因为您现在有一种方法可以在众多 UI 控件中返回此信息,而不仅仅是ListBox
在Form1
.
推荐阅读
- google-apps-script - 从多个 Google 表格中删除特定数据
- python - 从具有“全部显示”按钮的表中抓取数据
- c# - 错误:初始化字符串的格式不符合从索引 0 开始的规范
- r - R plotly简单的箱线图突出显示最近的值
- windows - Windows 任务计划程序用户帐户详细信息和未知的“交互式”用户
- r - 使用for循环R按每列的中位数分割样本
- reactjs - 以编程方式访问问题?
- spring-boot - log4j2 RollingFileAppender 第一次rolling后,每个POD独占写入当前日志文件
- r - 当 R 中的所有特定列均非零时,保留组的所有行
- python-3.x - 如何仅从 askopenfile 方法中提取路径