Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 以编程方式创建win表单?_.net_Winforms - Fatal编程技术网

.net 以编程方式创建win表单?

.net 以编程方式创建win表单?,.net,winforms,.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”名称设置为变量,这样每个创建的表单都会有一个不同的名称

我做这件事有点麻烦。我需要从启动类以编程方式创建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等等。我尝试了各种方法,但您不能为该名称分配变量


如何做到这一点?

如果要保存对多个对象的引用,可以将它们作为元素存储在集合中,而不是存储在多个单独的变量中

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 ++;
}
int count=1;
List formInstances=新列表();
foreach(User.AllUsers中的用户)
{
表单myForm=新表单();
myForm.Text=“用户:”+计数;
myForm.Show();
formInstances.Add(myForm);
计数++;
}

然而,正如Oded已经评论的那样,您不能在ASP.NET中使用WinForms,因此您需要重新思考您想要实现的目标,然后阅读一本好书并学习.NET编程。

ASP.NET是一个web平台-您能否澄清为什么要在webforms平台上创建WinForms?您的问题非常混乱,在当前状态下无法回答。标记为winforms的事实表明这是一个输入错误。我正在开发winforms.NET应用程序,错误地将其标记为ASP.NET,现在已更正。史蒂夫:你的回答似乎解决了问题,我不认为可以这样做。谢谢