подсказка появляется за формой / окном! (C # / VS 2008) - PullRequest
3 голосов
/ 26 января 2009

По какой-то странной причине мой всплывающий подсказка в приложении winforms C # VS 2008 появляется за формой! Это очень расстраивает, и я не могу понять, что мне делать. Кто-нибудь сталкивался с этим раньше? Идеи?

(PS - я делаю tooltip.show программно в форме)

Ответы [ 7 ]

1 голос
/ 27 января 2009

Есть несколько вещей, которые вы можете проверить:

  1. Убедитесь, что подсказка знает, каково его родительское окно.
  2. Убедитесь, что окно, к которому принадлежит всплывающая подсказка, находится на переднем плане (нет, это не является обязательным требованием для отображения подсказок, оно просто помогает при отладке.)
  3. Попробуйте дать фокус владельцу всплывающей подсказки. Если это решит проблему, то, вероятно, проблема с правами собственности в вашей подсказке.
0 голосов
/ 10 февраля 2009

Я видел, как это происходило в Windows XP, особенно на панели задач.

Вы уверены, что это проблема вашего приложения, а не ОС?

0 голосов
/ 01 февраля 2009

Я видел, как эта проблема возникает в приложениях на основе Windows.Forms и Delphi (собственные окна), вызванных взаимодействием «оставаться на вершине» с Windows API.

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

Что я обнаружил, так это: мои приложения будут вести себя при нормальной работе с всплывающими подсказками вверху. Проблемы могут возникнуть при переключении на другие приложения и от них - каким-то образом «TopMost» окнаw станет «очень ультра-верхним» (нетехнический термин ;-)) с подсказками, появляющимися за окном. 1006 *

Описав проблему, я хотел бы предложить вам решение, но я так и не нашел хорошего. Вздох.

Надеемся, что вам будет достаточно дополнительной информации, чтобы найти необходимое решение.

0 голосов
/ 01 февраля 2009

Эта проблема почти всегда вызвана тем, что окно является TopMost. Попробуйте использовать SetWindowPos, чтобы установить всплывающую подсказку HWND_TOPMOST. Я еще не пробовал это ...

0 голосов
/ 30 января 2009

У меня похожая проблема. У меня есть пользовательский элемент управления, написанный как C ++ WTL, который используется в приложении C # .NET2. Если элемент управления находится только в форме, то всплывающие подсказки элементов управления работают нормально, однако, если пользовательский элемент управления находится на панели или в группе, подсказка находится позади. Я попытался изменить код WTL, чтобы вывести наконечник вперед, это работает, но вызывает проблемы с потерей фокуса / выбора в других элементах управления.

0 голосов
/ 29 января 2009

Существует похожая (и известная) проблема с подсказками, появляющимися за панелью задач Windows. Проблема носит спорадический характер, и я никогда не видел решения. Если вы также наблюдаете такое поведение спорадически (и я предлагаю вам попробовать это на разных машинах), то это может быть связано. В противном случае, если проблема одинакова для нескольких компьютеров, давайте посмотрим на ваш код, потому что вы, вероятно, делаете что-то не так.

0 голосов
/ 26 января 2009

Попробуйте перенести элемент страницы на передний план. (Щелкните правой кнопкой мыши на элементе, выведите на передний план). Это происходит на всех подсказках, которые вы настроили? И нет, я не видел этого раньше

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