shape2.top=lblMenuItem(index).Top-50 中的“50“太小了,你把它改大点,
另外shape2.Left与MenuItem(Index).Left之间的差值是不是也太小了

解决方案 »

  1.   

    你给出的代码好象有点问题,当鼠标离开Label时,Shape1被隐藏,而Label被鼠标划过时,打开的却是Shape2。
    另外,用Shape2框定Label时,没有调整宽度和高度,是不是在设计时已经调整好了?
    如果改成下面的代码会不会好一些:
    With lblMenuItem(Index)
        Shape2.Move .Left - 50, .Top - 50, .Width + 100, .Height + 100
    End With
    Shape2.Visible = True