C# 希望在用户在文本框中输入数字时显示表单N的次数

C# 希望在用户在文本框中输入数字时显示表单N的次数,c#,winforms,C#,Winforms,我将有一个文本框,用户可以在其中输入0-9999。如果用户输入10,我想加载一个表单。此表单将有一些控件和按钮,即保存。如果用户输入数据并单击“保存”,我希望清除字段,并且必须按照用户在文本框中输入的值的对应次数(如我所说的10次)再次显示该表单。最简单的方法可能是简单的for循环 for (int i=0; i < textboxvalue; i++) { MyForm form = new MyForm(); form.ShowDialog(); } for(int i=0;i

我将有一个文本框,用户可以在其中输入0-9999。如果用户输入10,我想加载一个表单。此表单将有一些控件和按钮,即保存。如果用户输入数据并单击“保存”,我希望清除字段,并且必须按照用户在文本框中输入的值的对应次数(如我所说的10次)再次显示该表单。

最简单的方法可能是简单的for循环

for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}
for(int i=0;i
for(int i=0;i
这将显示窗体n次,但在关闭可见窗体后将显示。ShowDialog在父级停止执行


使用
form.Show()

而不是将表单显示0-9999次,您可以将值(0-9999)传递给表单,并在用户单击“保存”并关闭表单后清除该表单上的字段0-9999次

e、 g:

//在主窗体上:
int i=0;
//将textbox1.text解析为int并检查结果:
if(!int.TryParse(textbox1.Text,out i)| i9999)
{
//不正确的int值
MessageBox.Show(“请输入有效值”);
}
else//正确的int值
{
子表单mysub=新的子表单(i);
ShowDialog()的子窗体;
}
//在子窗体上:
int timebeforeclose=0;
公用子窗体(整数计数)
{
timebeforeclose=计数;
}
私有void btnSave\u单击(对象发送方,事件参数e)
{
//1.保存您的数据或其他。。。
//2.清空所需的任何字段。。
//关闭前更新时间:
关闭前的时间--;
//检查关闭前的时间:
如果(timebeforeclose==0)
{
this.Close();//达到指定数字时关闭此窗体。
}      
}

要将表单显示(最多)9999次吗?如果用户给出的值为9999,则表示我有to@Moon:如何附加代码以便附加文件?首先,您可以简单地对我的答案进行注释,而不是将大部分内容复制/粘贴到您自己的答案中。第二,这正是他想要的行为;打开n张表格,一次一张。@Nellius我想这会提供更多信息。抱歉,我偷了你的代码:)如果关闭我想显示的表单,请再提供一个帮助,直到和un less条件相同matches@Dorababu,请参阅我的最新答案,应该在检查之前移动
timebeforeclose--
。我在textbox\u leave事件下处理了另一个澄清,如果用户未输入值就离开了,我将得到一个错误,该怎么办that@Dorababu,请参阅我的最新答案,您可以在将文本解析为int时检查文本。顺便说一句:您还可以限制用户只输入数字。@Bolu:好的,谢谢您的帮助:)
for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}
//on main form:
int i = 0; 
//parse the textbox1.text to int and check the result:
if(!int.TryParse(textbox1.Text,out i)||i<0||i>9999)
{
  //incorrect int value 
  MessageBox.Show("Please enter a valid value");
}
else //correct int value
{
  subform mysub=new subform(i);
  subform.ShowDialog();
}
//on your subform:
int timebeforeclose=0;
public subform(int count)
{
  timebeforeclose=count;
}

private void btnSave_Click(object sender, EventArgs e)
{
  //1.save your data or whatever...
  //2.empty any fields you want..
  //update timebeforeclose:
  timebeforeclose--;
  //check the timebeforeclose:

  if(timebeforeclose==0)
  {
    this.Close(); //close this form when reaches the specified number.
  }      
}