当用户在文本框中输入数字时,想要显示表单N次

时间:2011-01-06 10:28:20

标签: c# winforms

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

3 个答案:

答案 0 :(得分:1)

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

e.g:

//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.
  }      
}

答案 1 :(得分:0)

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

for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}

答案 2 :(得分:-1)

for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}

这将显示表单n次,但一旦可见表单关闭就会出现。 ShowDialog停止在父级执行。

而是使用form.Show()