2010-08-31 3 views
0

Я делаю приложение Windows, которое общается с микроконтроллером. Иногда возникает ошибка связи, которая должна быть помечена пользователю. Например, если кабель отсоединен или микроконтроллер теряет питание.Модальные всплывающие ошибки блокируют обновления родительского GUI родителя

Я сейчас борется с этим, я вернулся к своему оригинальному решению. Первоначальное решение состояло в создании всплывающих окон, но, кроме того, что раздражало, иногда блокировал родительский GUI родителя MDI для обновления его отображения. Некоторые вещи могут произойти, когда всплывающее окно все еще открыто и что вызывает проблемы.

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

Каковы наилучшие методы устранения ошибок?

Кстати, я был еще один поток с моей альтернативными решениями проблемы: Tooltip baloon display position (for error notification)

ответ

0

Вы можете сделать окно самого верхним, не делая его модальным ... какой язык вы кодирование в?

+0

C# с .NET Framework (3.5) Я положил его в тегах :) – Roast

+0

Ах, да:). –

1

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

* Обновление *

мигающий значок в системном лотке, так же просто, как создание таймера, а также на события клеща, либо показать/скрыть значок или переключить его от одного значка к другому. Вы можете найти пример этого здесь:
http://www.freevbcode.com/ShowCode.asp?ID=6826

Просто перечитать вопрос ... если вы хотите, чтобы моргнуть окно в панели задач, есть больше к этому ... Я бы не пойти с этим подходом, потому что (1) мигающая панель задач может быть отключена пользователем, и (2) нет ничего, чтобы указать, почему она мигает. Но если это то, что вы хотите, смотрите здесь:
http://pietschsoft.com/post/2009/01/26/CSharp-Flash-Window-in-Taskbar-via-Win32-FlashWindowEx.aspx

+0

У меня есть маленький значок кабеля в строке состояния, который идет от подключенного к отключенному, когда это произошло, этого, похоже, не было достаточно для моего босса. Как я могу сделать что-то вроде этого миганием? – Roast

+0

У меня нет значка в системном трее, это строка состояния внутри родителя MDI. Я не хочу ничего мигать вне графического интерфейса приложения. – Roast

+0

Хорошо ... тот же ответ, таймер и на галочке скрывают или отображают значок или переключаются с одного значка на другой. Запускать или останавливать таймер при любом обнаружении неисправного соединения –

Смежные вопросы