Хотел бы показать форму N количество раз, когда пользователь вводит число в текстовое поле - PullRequest
0 голосов
/ 06 января 2011

У меня будет текстовое поле, в котором пользователь может ввести 0-9999. Если пользователь вводит 10, я хотел бы загрузить форму. Эта форма будет иметь некоторые элементы управления и кнопки, а именно Сохранить. Если пользователь вводит данные и нажимает «Сохранить», я хотел бы очистить поля и должен снова показать эту форму столько раз, сколько (как я сказал 10), что соответствует значению, введенному пользователем в текстовом поле.

Ответы [ 3 ]

1 голос
/ 06 января 2011

вместо того, чтобы показывать форму 0-9999 раз, вы можете передать значение (0-9999) в форму и очистить поля в этой форме 0-9999 раз после того, как пользователь нажмет на сохранение, а затем закрыть его. 1001 *

например:

//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.
  }      
}
0 голосов
/ 06 января 2011
for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}

Это покажет форму n раз, но появится после закрытия видимой формы ShowDialog останавливает выполнение у родителя.

Скорее используйте form.Show()

0 голосов
/ 06 января 2011

Простейшим способом, вероятно, будет простой цикл for.

for (int i=0; i < textboxvalue; i++)
{
MyForm form = new MyForm();
form.ShowDialog();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...