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