Про mouseleave

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Про mouseleave

Сообщение Tarik » 03.08.2004 (Вт) 12:27

Всем привет! Задача такая. Я делаю что-то типа тулбара: форма спрятана за краем экрана, при наведении на тонкий выглядывающий кусок, она выплывает полностью (юзаю mouseenter). При mouseleave снова прячу форму. Теперь непосредственно проблема: при наведении мыши на любой контрол этой формы, вызывается mouseleave и форма прячется. Как сделать, чтобы фома уплывала только когда мышь ДЕЙСТВИТЕЛЬНО уходит с формы, а не проходит над контролом?
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 03.08.2004 (Вт) 13:05

ну ты ж программист, а не юзер! Обработай координаты мыши в mouseleave, чай в НЕТ это как 2 пальца "обАсФальт"
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 03.08.2004 (Вт) 13:19

Можно, конечно, но что если нижняя граница контрола совпадает с границей формы? Тогда mouseleave формы просто не будет вызываться! А писать mouseleave для каждого контрола... Просто их там ОЧЕНЬ много будет :?
В общем, пока я сделал проверку координат мыши по таймеру. Криво, конечно, зато работает...
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.08.2004 (Чт) 16:16

Тогда, стань ещё более прогрессивным! Подпиши MouseLeave на события всех контролов и всё. Можешь даже обработать ControlAdded формы и в нём подмисывать каждый контрол.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.08.2004 (Чт) 16:17

Слухай, а ты, чаем, не DockControl аля VS пишешь?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 05.08.2004 (Чт) 18:23

Что-то типа :) Пишу тулбар на рабочий стол, на котором будут в удобном порядке располагаться небольшие ярлыки на все нужные мне проги. После снесения Aston Стало нехватать его to bar'a (или как он там называется, не помню). Вот я и решил написать такой же, только чтобы исчезал.
Подпиши MouseLeave на события всех контролов и всё. Можешь даже обработать ControlAdded формы и в нём подмисывать каждый контрол.

А поподробнее можно? Просто этой мой первый проект на VB .NET (если Hello world не считать, конечно :) )
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.08.2004 (Чт) 18:39

ТЫ КОНТРОЛЫ руками или программно добавляешь?
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Tarik
Агент Системы
Агент Системы
Аватара пользователя
 
Сообщения: 1222
Зарегистрирован: 03.01.2003 (Пт) 16:05
Откуда: Москва

Сообщение Tarik » 05.08.2004 (Чт) 19:12

Всё, допёрло 8) Так надо?
Код: Выделить всё
AddHandler x.Click, AddressOf myButtonHandler_Click

101 VB.NET Samples рулят ;-)
Изображение

Ever tried? Ever failed? No matter. Try again! Fail again! Fail better!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 05.08.2004 (Чт) 19:39

если программно то да
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 86

    TopList