以编程方式创建win表单?

时间:2011-08-20 12:18:58

标签: .net winforms

我在这方面遇到了一些问题。我需要从我的启动类中以编程方式创建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等。我尝试过各种各样的东西,但你不能为这个名字指定一个变量。

你是怎么做到的?

1 个答案:

答案 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编程。