Какой самый простой способ запросить ввод пользователя через модал в Win Form - PullRequest
2 голосов
/ 26 марта 2010

Какой самый простой способ реализовать модальное (всплывающее окно) MessageBox, позволяющее вводить и возвращать пользовательское значение. В моем случае это String.

Может быть, я слишком обдумываю это, но я решила спросить. Я планирую просто создать новую форму. Добавьте label, textbox, два buttons. Назначьте textbox на property, а из моего основного form вызовите ShowDialog().

Смогу ли я по-прежнему иметь доступ к property таким образом или я должен каким-то образом вернуть значение?

Это достойный способ сделать это?

Ответы [ 3 ]

2 голосов
/ 26 марта 2010

Да, на самом деле я делаю это, я сделал форму ввода, которая содержит именно то, что вы сказали.

Позвоните вашей собственности InputValue

using (ModalInputForm inputForm = new ModalInputForm()) {
 if (inputForm.ShowDialog() == DialogResult.Ok) {
  _fieldToUse = inputForm.InputValue;
 }
}
2 голосов
/ 26 марта 2010

Звучит как приличный путь, за исключением предоставления TextBox как свойства. Вам нужно только выставить TextBox.Text.

1 голос
/ 26 марта 2010

Вы по-прежнему сможете получить доступ к свойствам формы после ее закрытия, если переменная формы все еще находится в области видимости в главной форме.

Вы могли бы сделать что-то вроде этого:

    frmPrompt frm = new frmPrompt();

    if ( frm.ShowDialog() == DialogResult.OK )
    {
        string result = frm.SomeProperty
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...