我在这方面遇到了一些问题。我需要从我的启动类中以编程方式创建Windows窗体。
我有一个像这样的foreach循环:
int count = 1;
foreach (User user in User.AllUsers)
{
Form myForm = new Form();
myForm.Text = "User: " + count;
myForm.Show();
count ++;
}
问题是我需要“myForm”名称是变量的,所以每个创建的表单都有一个我以后可以引用的不同名称,比如; myForm1,myForm2,myForm3等。我尝试过各种各样的东西,但你不能为这个名字指定一个变量。
你是怎么做到的?
答案 0 :(得分:2)
如果要保留对多个对象的引用,则将它们存储为集合中的元素,而不是多个单独的变量。
int count = 1;
List<Form> formInstances = new List<Form>();
foreach (User user in User.AllUsers)
{
Form myForm = new Form();
myForm.Text = "User: " + count;
myForm.Show();
formInstances.Add(myForm);
count ++;
}
但是,正如Oded已经评论过的那样,你不能在ASP.NET中使用WinForms,所以你需要再次思考你想要实现的目标,然后获得一本好书并学习.NET编程。