Могу ли я изменить цвет всплывающей подсказки в виде дерева - PullRequest
0 голосов
/ 02 августа 2010

Мой код для отображения всплывающей подсказки при наведении мыши выглядит следующим образом

       e.Node.ToolTipText = Convert.ToString(sb);

Но это отображается с желтым цветом по умолчанию. Могу ли я изменить это на какой-то другой цвет. Я не нашел никакой собственности для этого. Если возможно, кто-нибудь может дать мне идею ...

Спасибо и С уважением, M.Dorababu.

Ответы [ 2 ]

3 голосов
/ 02 августа 2010

Цвет фона для всплывающей подсказки является системной настройкой цвета, вы не можете разумно изменить эту настройку.Вы можете изменить внешний вид самостоятельно, установив свойство ToolTip.DrawMode.Хороший пример обработчика события Draw, который вам понадобится, находится в разделе библиотеки MSDN для этого события.

Следующее препятствие определенно является более сложным.Элемент управления всплывающей подсказки, отображающий подсказки для узлов, встроен в собственный элемент управления Windows, его нельзя заменить.Вам придется отказаться от свойства TreeNode.ToolTipText и сохранить его в другом месте.Подобно свойству Tag или создайте его «на лету».

Затем необходимо подключиться к событию MouseMove TreeView и использовать его метод HitTest (), чтобы узнать, где находится мышь.Переключать свойство Timer Enabled при перемещении мыши.Используйте событие Tick для вызова метода ToolTip.Show ().И подключите MouseLeave, чтобы отключить все.

Вполне возможно, попадает в категорию "когда есть воля, есть способ".

1 голос
/ 02 августа 2010

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

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