Zdravím, udělal jsem si jednoduchý panel, ve kterém mám nahoře umístěný picture box s obrázkem špendlíku, pomocí kterého mohu daný panel zafixovat (mělo by to fungovat stejně jako ve Visual Studiu). Kromě toho chci také při najetí myši zobrazit kolem obrázku border, aby bylo vidět že to něco dělá. Myslel jsem si že to půjde takto:
Private Sub PictureBoxPripinacek_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBoxPripinacek.MouseEnter
PictureBoxPripinacek.BorderStyle = BorderStyle.Fixed3D
End Sub
Private Sub PictureBoxPripinacek_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBoxPripinacek.MouseLeave
PictureBoxPripinacek.BorderStyle = BorderStyle.None
End Sub
Bohužel to dělá problémy. Border se při najetí vždy správně zobrazí, ale při události MouseLeave ne vždycky rámeček zmizí (bohužel se mi nepodařilo vypátrat nějakou logickou příčinu nebo souvislost). Přitom se obě události v pořádku spouštěji a pokud místo nastavování borderu měním třeba text v nějakém labelu tak je to vše ok. Napadlo mě že by se border nestihl vykreslit před spuštěním druhé události, ale to se mi zdá divné. Myslím si že to tak graficky náročné není. Nevěděl by někdo jak zajistit správné vykreslování borderů? Díky
|