Подсказка всплывающей подсказки с кнопкой закрытия — C#

Как создать всплывающую подсказку с кнопкой закрытия.

Я могу показать всплывающую подсказку:

TaskbarIcon.ShowBalloonTip(10000);

но я не могу сделать наоборот:

TaskbarIcon.CloseBalloonTip();

Или даже способ показать закрытый ящик на кончике шара.

Я видел этот вопрос, размещенный на другом сайте, но без (бесплатного) ответа.

заранее спасибо


person Greycrow    schedule 10.03.2010    source источник
comment
Платные ответы другого сайта не становятся видимыми волшебным образом, если вы прокрутите страницу немного дальше, не так ли?   -  person Paul Ruane    schedule 11.03.2010


Ответы (2)


Я смог найти простой ответ. Вместо того, чтобы использовать:

TaskbarIcon.ShowBalloonTip(10000); 

Я мог бы использовать вторую форму этой функции:

TaskbarIcon.ShowBalloonTip(10000,"Title","Message",ToolTipIcon.None); 

Это на самом деле добавляет близкое поле к кончику шара!

person Greycrow    schedule 11.03.2010
comment
На самом деле разница не в том, какую перегрузку ShowBalloonTip вы вызываете, а в том, предоставляете ли вы заголовок. Если заголовок нулевой или пустой, кнопка закрытия не отображается. - person Thomas Levesque; 07.05.2012

Вам может быть интересно:

http://www.tooltips.net/

На этот вопрос есть полезный ответ о закрытии всплывающей подсказки.

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

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

http://msdn.microsoft.com/en-us/magazine/cc188923.aspx

person Robert Harvey    schedule 10.03.2010
comment
Спасибо за ответ (и поддержку). Я как бы искал выход за пределы Win32 и Shell_NotifyIcon. Что-то в С#, например NotifyIcon. - person Greycrow; 11.03.2010
comment
Класс ToolTip в .NET Framework должен иметь все необходимое: msdn.microsoft.com/en-us/library/ - person Robert Harvey; 11.03.2010