2015-01-02 2 views
0

텍스트 상자를 채우거나 버튼을 클릭 할 때 표시해야하는 부동 그리드 뷰가있는 양식이 있습니다. 항목을 선택하거나 마우스를 그리드를 떠나면 그리드가 보이지 않게되어 사용자는 나머지 양식을 볼 수 있습니다. 그리드 데이터는 대부분 최대 세로 크기를 초과하므로 세로 스크롤 막대가 필요합니다. 내 문제는 수직 스크롤 막대에 마우스를 놓으면 MouseLeave 이벤트가 발생하므로 눈금이 보이지 않게됩니다.수직 스크롤바를 클릭 할 때 gridview mouse leave 이벤트를 피하는 방법은 무엇입니까?

이번에는 코드 문제가 아니므로 프로그램에서 vscrollbar를 GridView의 일부로 식별하도록 변경할 속성이 있습니까? 아니면 스크롤 막대에 마우스를 놓을 때 MouseLeave 이벤트를 무시할 수있는 몇 가지 코드 해결책이 있습니까? 또한,

Private Sub GridCliente_MouseLeave(sender As Object, e As System.EventArgs) Handles GridCliente.MouseLeave 
    GridCliente.Visible = False 

End Sub 

나는 구성 요소 중 하나 C1TrueDBGrid 대신 표준의 gridview를 사용하고 있습니다 :

여기, 아주 간단 내 이벤트 코드입니다. 그것은 중요 할 수도 있습니다.

답변

0

GridView를 패널에 추가하고 MouseLeave 이벤트를 패널로 변경하여 내 문제의 해결책을 발견했습니다. 이 기능을 사용하려면 GridView의 크기가 양쪽면의 적어도 한 픽셀 이상이어야합니다. MouseLeave은 GridView가 패널의 동일한 크기 인 경우 트리거하지 않으므로 (패널 위에 마우스를 올려 놓고 그 안에 다른 구성 요소가 없어야 vb 마우스 패널 내부에 마우스를 고려하십시오.) 아마 그것은 최선의 해결책이 아니지만 그것은 나를 위해 일합니다.

관련 문제