请考虑以下代码:
for (int i = 0; i < 10; i++)
{
Form1 frm = new Form1;
frm.Show();
}
问题是如何管理已创建的这些实例?
示例:创建这些实例后,我想获取每个实例的ID,然后用户将选择要显示的实例!
提前谢谢!
答案 0 :(得分:2)
只需将这些实例保存到某个集合中,然后您就可以联系到它们。
类似的东西:
var forms = new List<Form1>();
for (int i = 0; i < 10; i++)
{
var frm = new Form1();
forms.Add(frm);
frm.Show();
}
所以稍后您可以将所需的第i个表单设为forms[i]
。
但是请注意 - 当不再需要时,您将不得不关心从此集合中删除表单,否则会阻止垃圾收集器收集它。
答案 1 :(得分:0)
您说要在用户选择if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
return resources.getDrawable(id, context.getTheme());
} else {
return resources.getDrawable(id);
}
之后显示其中一个表单,但是在循环中为所有表单调用"ID"
。所以你们所有人都不仅仅选择了一个。我想你应该删除对Show的调用。
但在这种情况下,自动维护的Show
集合为空(或者至少不包含在循环中创建的表单),因此您需要这些表单的自定义集合。
最后,您需要设置一些作为动态创建表单的ID的内容,否则您无法从用户输入中检索它。
OpenForms