Member 14690150 Ответов: 2

Открыть новую форму для функции MessageBox ОК


Imgur: магия интернета[^]

Как я могу сделать так, чтобы при нажатии кнопки OK он открывал форму 1

Форма form1 Ф1 = новые формы form1();
этот.Скрыть();
Ф1.Метод showdialog()

Что я уже пробовал:

Я пробовал искать видео на youtube, но это мне не помогло.

Richard MacCutchan

"Я пытался искать видео на youtube, но это не помогло мне."
Не тратьте свое время на YouTube. Изучите документацию по MSDN, она гораздо полезнее.

2 Ответов

Рейтинг:
0

Richard MacCutchan

Вы создаете новые экземпляры Form1 в каждом из ваших методов button_click, что неверно. Создайте переменную Form1 на уровне класса, инициализированную следующим образом: null таким образом , существует только один случай. Вы можете создать его где угодно, если он еще не существует.

И ваш код было бы гораздо легче понять, если бы вы использовали собственные имена для своих форм и кнопок вместо стандартных Form1, Form2, Button1, Button2, Button3 и т. д.


Maciej Los

5ed!

Richard MacCutchan

Спасибо, но вы ее решили.

Рейтинг:
0

Maciej Los

В дополнение к ответу Ричарда маккатчана...
Заменить этот:

if(MessageBox.Show("Hello", "Inject", MessageBoxButtons.OK, MessageBoxIcon.None)==DialogResult.Yes)

с:
if(MessageBox.Show("Hello", "Inject", MessageBoxButtons.OK, MessageBoxIcon.Information)==DialogResult.OK)
{
    f1 = new Form1();
    //further instructions
}

в связи с тем, что:
DialogResult.Yes возвращается 6
DialogResult.OK возвращается 1,
Итак, ваш if условие никогда не станет истинным.

DialogResult Enum (System.Окна.Формы) | Microsoft Docs[^]


Richard MacCutchan

+5. У меня было ощущение, что что-то неправильно с этим, если заявление.

Maciej Los

- Спасибо, Ричард.