Я пытаюсь сделать что-то, что на самом деле выглядит «просто» с нескольких часов, но я не могу понять, как это сделать ... и скрываясь над SO или разными сайтами, кажется, что, возможно, не так очевидно.VB.NET TableLayout MouseEnter и оставить событие
Вопрос прост: у меня есть таблицаLayoutPanel с несколькими строками, каждая из которых содержит панель, содержащую несколько других элементов управления.
Я просто хочу, чтобы, когда мышь входит в строку, меняется фон строки, и когда мышь покидает эту строку, она возвращается к исходному цвету.
Эти простые трапперы событий, где pnlLayoutRow это имя панели, содержащие другие элементы управления:
Private Sub devRowMouseEnter(sender As System.Object, e As EventArgs) Handles pnlLayoutrow.MouseEnter
pnlLayoutrow.BackColor = Drawing.Color.FromArgb(&HFFFFEEAA)
End Sub
Private Sub devRowMouseLeave(sender As System.Object, e As EventArgs) Handles pnlLayoutrow.MouseLeave
pnlLayoutrow.BackColor = Drawing.Color.FromArgb(&HFFE7DEBD)
End Sub
Проблема заключается в том: MouseEnter правильно произвели каждый раз, когда я войти в строку, но MouseLeave обжигают как только мышь достигнет одного из элементов управления внутри панели .., это сводит меня с ума.
В другой среде я решил бы это сделать прозрачный объект по всей панели и захватить mouseEnter и оставить для этого объекта ... но похоже, что в VB trasparent объектов не существует.
Надеюсь, что в моем объяснении было ясно. Это довольно поздно ночью, и я немного устал.
спасибо заранее надежда кто-то может помочь мне
Кристиано
действительно приятно, позвольте мне попробовать, и я дам вам знать, спасибо! –
пробовал ... он acutally doe не работает нормально. Если при запуске мыши курсор находится на внутреннем элементе управления, и я быстро выхожу из мыши, поэтому он не проходит, хотя сама панель, но она перескакивает из внутреннего элемента управления непосредственно за пределы пользовательского элемента управления, событие mouseleave не уволен. –
Это будет из-за информации, которую окна предоставляют программе. Вы можете переместить код в мышь. Переместить событие. Однако будьте осторожны, это может привести к замедлению движения мыши. Если у вас есть другой код в событии перемещения мыши, вам может потребоваться удалить строку «Exit Sub». –