• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы Num2
  • Дата начала
N

Num2

Всем привет.

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

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

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

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

Помогите плиз сделать чтоб оно правильно функционировало...
Вот что у меня сейчас есть
 
L

LuMee

:
Событие MouseHover обычно применяется для отображения всплывающей подсказки при наведении указателя мыши на заданный элемент управления — когда указатель задерживается на элементе управления в заданной области, включающей этот элемент и называемой "прямоугольником наведения".
Это я к тому, что, возможно, следует вместо MouseHover использовать MouseEnter?
 
N

Num2

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

во, залил исходник, чтоб было легче ее реализовать

спасибо
 
L

LuMee

Предлагаю вместо возни с ручным пересчетом координат просто взять FlowLayoutPanel , задать ей FlowDirection в TopDown и просто складывать в нее свои панели. Координаты уже автоматом посчитаются.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!