Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 28.12.2021
Сообщений: 2

MessageBox сворачивает формы

21.05.2022, 12:05. Показов 1042. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая ситуация в winforms.Есть две формы : родительская и другая дочерняя (вызвана как диалог),при неправильном вводе на второй форме вылезает месседжбокс .Если развернуто только мое приложение , то все норм.Если допустим на заднем фоне открыто какое-то другое окно то все два моих окна после нажатия ок на мессаджбоксе сворачиваются.Как сделать ,чтобы окна не сворачивались?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2022, 12:05
Ответы с готовыми решениями:

MessageBox при закрытии формы
Доброго времени суток. Проблема вот какая. Вот этот кусок кинул в MainMenu: procedure TForm1.N4Click(Sender: TObject); var ...

Не появляется MessageBox при закрытии формы
При открытии первый MessageBox появляется, а при закрытии второй не появляется, приложение просто завершается. Просто все перерыл, ошибки у...

Отображение MessageBox' а в центре родительской формы
Создаю MessageBox таким образом: MessageBox.Show("Вы уверены, что хотите удалить товар из списка?", "Caravan A6 - Подтвердите...

3
 Аватар для XzzzX
405 / 280 / 120
Регистрация: 09.07.2021
Сообщений: 1,016
Записей в блоге: 1
21.05.2022, 12:29
я не могу смоделировать такое поведение.
моя попытка:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{$reference system.windows.forms.dll}
uses system.Windows.forms;
 
begin
  var f:= new Form;
  f.Text:= 'mainform';
  var b:= new button;
  b.Parent:= f;
  
  var f2:= new Form;
  f2.Text:= 'childform';
  var b2:= new Button;
  b2.Parent:= f2;
  
  b.click+= (sender, ea)-> begin
    f2.ShowDialog;
  end;
  
  b2.Click+= (sender, ea)-> begin
    MessageBox.Show('text', 'caption', MessageBoxButtons.OK);
  end;
  
  application.Run(f);
end.
приведите, пожалуйста, минимальный код, когда это проявляется у Вас. если Вы пишите формы через конструктор, то прикрепите папку проекта zip-архивом
0
0 / 0 / 0
Регистрация: 28.12.2021
Сообщений: 2
21.05.2022, 12:36  [ТС]
Проблема была в том что я использовал Show с более длинным кол-во аргументов ,типа
Pascal
1
MessageBox.Show('Слово не может быть пустой строкой(содержать только пробелы),или включать служебные ASCII символы','Сообщение',MessageBoxButtons.OK,MessageBoxIcon.Error,MessageBoxDefaultButton.Button1,MessageBoxOptions.ServiceNotification,False)
,если заменить на более короткий вариант ,то проблема исчезает.
0
 Аватар для XzzzX
405 / 280 / 120
Регистрация: 09.07.2021
Сообщений: 1,016
Записей в блоге: 1
21.05.2022, 15:24
Лучший ответ Сообщение было отмечено Big_Dinosaur как решение

Решение

это закономерный результат при вызове MessageBox с MessageBoxOptions.ServiceNotification. Об этом прямо говорится в документации.

как решить?
во-первых, определиться, действительно ли Вам надо MessageBoxOptions.ServiceNotification и если нет, то выбрать другую перегрузку, например
Code
1
MessageBox.Show('text','caption',MessageBoxButtons.OK, MessageBoxIcon.Error)
если всё таки необходимо, то ещё есть вариант с winAPI. но это будет менее лаконично
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2022, 15:24
Помогаю со студенческими работами здесь

Можно ли разместить MessageBox по центру родительской формы
Можно ли разместить MessageBox по центру родительской формы? Owner назначен, но по умолчанию появляется в центре экрана а не родительской...

Messagebox, появляется 2 раза при закрытии формы!?
Закрытие первой формы private void Authorization_FormClosing(object sender, FormClosingEventArgs e) { ...

MessageBox вешает приложение когда открыто 2 формы
Почему MessageBox вешает приложение, когда перед его показом открываю вторую форму? Без второй формы работает нормально.

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

Как отключить системные звуки при вызове 2й формы или messagebox?
Подскажите, пожалуйста. Почему то не могу найти инфу:(


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru