У меня есть метод Windows Forms, который вызывается:окна форма и подчиненная рутина
// fire up the form
ViewportRenumberingForm form = new ViewportRenumberingForm(pickedRef, doc);
form.ShowDialog();
Тогда внутри этой формы у меня есть рутина, которая получает запуск:
private void btnOK_Click(object sender, EventArgs e)
{
renumberViewports();
}
теперь, если во время выполнения renumberViewports()
он сталкивается с определенным условием. Я прошу его инициировать дополнительную форму, чтобы получить пользовательский ввод о том, как действовать:
if (openAdditionalForm)
{
ViewportRenumberingForm2 subForm = new ViewportRenumberingForm2();
var result = subForm.ShowDialog();
if (result == DialogResult.OK)
{
// get all values preserved after close
bool selected = subForm.ReturnSelected;
bool unselected = subForm.ReturnUnselected;
if (selected)
{
//do something
}
if (unselected)
{
//do something
}
}
else if (result == DialogResult.Cancel)
{
this.Show();
}
}
Теперь возникает вопрос: когда пользователь нажимает «Отмена», я хочу вернуться к своей основной форме и начать сначала. Это означает, что пользователь может повторно ввести любую информацию и нажать, что btnOK_Click()
и renumberViewports()
снова будут исполнены. В основном я хочу, чтобы пользователь мог просто признать, что их текущий вход вызовет ошибку, покажите им, что в подзаголовке разрешить им отменять повторное ввод входов. Затем я хочу повторно выполнить его и закрыть форму, если ошибок нет.
Прямо сейчас, я получил все до работы Отмена ввода. Когда пользователь нажимает «Отмена», я возвращаюсь к своей основной форме, но нажимаю «ОК» на нем, не выполняет повторную команду renumberViewports()
.
Любая помощь будет оценена по достоинству.
Это должна быть ошибка компиляции, 'result' не определен, где' else if' может ее видеть. –
Я исправил это. я просто поспешно копировал части кода и неправильно фиксировал некоторые скобки. моя вина. – konrad
Скажите, пожалуйста, каково значение свойства DialogResult из btnOK и каковы значения свойств AcceptButton и CancelButton в форме, где определен btnOK. – Steve