Здравствуйте.
Схема примерно такая:
есть главная форма (form1), она является MDIPerent-ом для другой формы (form2). На form2 расположен контрол (control1) из одной фришной библиотеки, он унаследован от ScrollableControl.
Теперь проблема:
если пытаться сделать MessageBox.Show(...), не важно откуда и где, то при активной несвёрнутой form2 MessageBox не появляется (не рисуется), нужно нажать ALT или переключится туда-сюда между окнами, чтобы он появился. Если же form2 свёрнута или неактивна, то всё впорядке.
Если кто знает в чём проблема, буду очень благодарен.
Заранее спасибо.
Здравствуйте, jean_nsk, Вы писали:
_>Здравствуйте.
_>Схема примерно такая:
_>есть главная форма (form1), она является MDIPerent-ом для другой формы (form2). На form2 расположен контрол (control1) из одной фришной библиотеки, он унаследован от ScrollableControl.
_>Теперь проблема:
_>если пытаться сделать MessageBox.Show(...), не важно откуда и где, то при активной несвёрнутой form2 MessageBox не появляется (не рисуется), нужно нажать ALT или переключится туда-сюда между окнами, чтобы он появился. Если же form2 свёрнута или неактивна, то всё впорядке.
_>Если кто знает в чём проблема, буду очень благодарен.
_>Заранее спасибо.
Может стоит воспользоватся методом
public static DialogResult Show(IWin32Window owner, string text);
чтобы явно задать владельца этого MessageBox.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Мы были здесь. Но пора идти дальше. (с) Дуглас Коупленд, Рабы "Микрософт"
Здравствуйте, Closer, Вы писали:
C>Может стоит воспользоватся методом
C>C>public static DialogResult Show(IWin32Window owner, string text);
C>
C>чтобы явно задать владельца этого MessageBox.
Да я пробовал, не помогает((
Кстати, если контрол с формы убрать то и проблема тоже пропадает.
Как то был у меня глюк с месаджбоксом, а все из-за колдоства с потоками. Лечил вызовом invoke методов и оберткой делегатом.
С/у Дмитрий.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Вспомнил про эту мою тему, ришил написать, чем всё закончилось.
Во-перых, всем спасибо, кто старался помочь
Ну а проблему решил так: нужно было при вызове метода MessageBox.Show(...) выставлять MessageBoxOptions.ServiceNotification.
То есть вызов примерно такой:
MessageBox.Show("Текст", "Заголовок", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.ServiceNotification);
Может кому-то пригодится. Успехов.
Спасибо, что не забыли! Наверняка пригодится!
С/у Дмитрий.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение