![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
В общем такая задача. Есть ListBox с текстом. Задался вопросом, как показывать свой ToolTip, когда я брожу мышкой по тексту в ListBox. При этом ToolTip должен менять свою позицию и текст.
Подписался в ListBox на событие MouseMove() и пытаюсь там шаманить (в WinForms никогда проблем небыло)
собственно проблем 2. Второй и третий параметр неправильные. Точнее я не могу добыть из handle окно IWin32Window и не могу правильно достать point. Не то передаю. Что-то я или туплю или есть разительная разница WPF и WinForms в работе в таких ситуациях. |
|||
|
||||
| vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 1 Всего: 12 |
У меня сразу возникло несколько вопросов.
1. Почему Вы используете System.Windows.Forms.ToolTip. Ведь у WPF есть свой ToolTip? 2. Почему Вы создаете новый объект ToolTip в MouseMove ? Ведь при перемещении мыши будет создавать шлейф из объектов ToolTip, при этом Вы их нигде не прячите. -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
| Rohoss |
|
||||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Так можно сделать с кода
ToolTip, как говорил vikaz, нужно использовать из WPF. Но вы просто можете добавить в свойство ToolTip любой элемент управления WPF, если вас устраивает поведение тоолтипа по умолчанию, если же нет, то можно создать отдельно:
Это сообщение отредактировал(а) Rohoss - 25.1.2011, 13:28 |
||||
|
|||||
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Я понимаю, что ToolTip можно подвязать к контролу. Но с обычной подвязкой проблема. Они когда хотят появляются. То появляются, то нет. Если мышку убрать с контрола и быстро вернуть обратно, то он уже не появится (зачастую). Вот потому я и хочу сделать его отображение вручную.
Для того что бы List не путал ситуацию, пускай это будет обычный TextBox. Я никогда не буду выводить мышку за пределы этого TextBox. Как мне этот тулТип постоянно отображать в той позиции, где у меня сейчас мышка на этом TextBox? В System.Windows.Controls.ToolTip я вообще не нашел метод Show(); Шлейф из тултипов пускай не смущает. Как раз что-то типа шлейфа я и хочу сделать. Это уже мои заморочки. Мне хотя бы один показать, созданный мной и отображенный типа методом Show() в старом добром WinForms. |
|||
|
||||
| Rohoss |
|
|||
![]() Начальник интернета ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1308 Регистрация: 9.10.2006 Где: Matrix Репутация: 4 Всего: 18 |
Bladerender, всё предусмотрено, используй класс ToolTipService
А ещё можно копнуть в сторону элемента Popup |
|||
|
||||
| Bladerender |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 207 Регистрация: 19.7.2007 Репутация: нет Всего: нет |
Заменил PopUp. Намного удобнее с ним работать.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |