C# Winform Позиционирование

Num2

New member
09.07.2012
4
0
#1
Всем привет.

Столкнулся с такой проблемой, делаю сейчас WinForm, объектом разработки является пользовательский элемент управления, унаследованный от UserControl, на котором динамически создается N(кол-во записей с базы) панелей (2 на скрине) в котором есть еще 3 TextBox.

Какое ТЗ, наводим на панель сообщений, TextBox с датой или временем исчезает, появляется кнопка закрыть, выводим мышку за пределы панели - TextBox появляется снова, а кнопка исчезает

Что у меня сейчас получается, динамически созданные TextBox'ы накладываются на панель, и ивент который отвечает за наведение мыши на панель не срабатывает. А там где навожу на чистую панель, TextBox исчезает, кнопка показывается, но потом пытаюсь навести на кнопку - ивент понимает это как я ушел с панели, кнопка сразу исчезает а TextBox ставится назад...

Как только не пытался сделать:
- весил ивент и на TextBox1, TextBox3, но получается как-то рагульно, мерцает....
- создавал еще 1 панель, пытался пытался на нее кидать ивенты, но TextBox всеравно и ее перекрывали
- создавал listView прозрачный, но и это не помогло...

Помогите плиз сделать чтоб оно правильно функционировало...
Вот что у меня сейчас есть http://pastebin.com/Nkz02Pgu
 

LuMee

Well-known member
02.05.2006
477
0
#2
MSDN:
Событие MouseHover обычно применяется для отображения всплывающей подсказки при наведении указателя мыши на заданный элемент управления — когда указатель задерживается на элементе управления в заданной области, включающей этот элемент и называемой "прямоугольником наведения".
Это я к тому, что, возможно, следует вместо MouseHover использовать MouseEnter?
 

Num2

New member
09.07.2012
4
0
#3
возможно :lol: переделал, и заработало что не работало :)
но щас с другой проблемой столкнулся, при нажатии на кнопку "закрыть" динамическая панель закрывается норм, я ее скрываю, но те которые под ней находятся не подтягиваются на пустое место... предполагаю что из-за того что Location задан... пробовал делать -=120, но не помогло.. а если задавать новые координаты - оно все в кучу пихается... подскажите плиз

http://zalil.ru/upload/34698225 во, залил исходник, чтоб было легче ее реализовать

спасибо
 

LuMee

Well-known member
02.05.2006
477
0
#4
Предлагаю вместо возни с ручным пересчетом координат просто взять FlowLayoutPanel , задать ей FlowDirection в TopDown и просто складывать в нее свои панели. Координаты уже автоматом посчитаются.