开发者

Creating win forms programmatically?

I'm having a bit of an issue in开发者_如何学Go doing this. I need to create windows forms programmatically from my startup class.

I have a foreach loop like this:

int count = 1;
foreach (User user in User.AllUsers)
{
    Form myForm = new Form();
    myForm.Text = "User: " + count;
    myForm.Show();

    count ++;
}

The problem is that I need the "myForm" name to be variable so each created form will have a different name that I can later refer to, like; myForm1, myForm2, myForm3 and so on. I tried a variety of things but you can't assign a variable to that name.

How do you do this?


If you want to hold references to multiple objects, you store them as elements in a collection, not in multiple separate variables.

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 ++;
}

However, as Oded has already commented, you can't use WinForms in ASP.NET, so you need to think again about exactly what you're trying to achieve, then get a good book and learn about .NET programming.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜