Как мне переместить подсказку? - PullRequest
1 голос
/ 16 марта 2009

Я использую событие CellToolTipTextNeeded для DataGridView, и подсказка отображается под мышью. Я могу получить объект ToolTip с помощью отражения, но у меня нет никакого контроля над тем, где он расположен, поскольку я не тот, кто вызывает Show(). Как мне переместить подсказку?

Ответы [ 4 ]

1 голос
/ 24 февраля 2012
1 голос
/ 19 марта 2009

Я думаю, что короткий ответ: вы не можете, пока нет. Вероятно, я бы подумал о создании пользовательского, такого как «unknown (yahoo)».

1 голос
/ 25 марта 2009

Вам придется самостоятельно управлять всплывающей подсказкой, используя методы Show и Hide, если вы хотите каким-либо образом контролировать, как и где она позиционируется с помощью инфраструктуры 2.0, если вы не хотите получать вызовы API Window.

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

Событие Draw запускается после события Popup, и кажется, что позиция уже установлена, поскольку свойство Bounds в PopupEventArgs доступно только для чтения.

Вот ссылка на одну из многих статей (на момент публикации) о создании пользовательского элемента управления: http://andrusdevelopment.blogspot.com/2007/10/implementing-custom-tooltip-in-c.html

А документация MSDN по использованию методов Show и Hide во всплывающей подсказке на самом деле довольно приличная: http://msdn.microsoft.com/en-us/library/44atyhsa(VS.80,printer).aspx

Извините, но не похоже, что есть быстрый и простой ответ на этот вопрос. Надеюсь, кто-то докажет, что я не прав, потому что оба саке.

Scott

1 голос
/ 19 марта 2009

Как насчет пользовательского?

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