2011-11-16 2 views
0

나는 winform 내부에 DataGrid가 있으며 각각에는 V. 스크롤 막대가 있습니다. 자, 기본적으로 외부 스크롤 막대가 활성화되어 있으며 내부 스크롤을 활성화하려면 DataGrid 안을 클릭해야합니다. 내가 원하는 것은 마우스가 DataGrid 위로 이동하고 DataGrid의 스크롤이 활성화되어 있어야하며 마우스가 DataGrid 영역 밖에있을 때 양식의 스크롤이 활성화되어 있어야합니다.두 개의 스크롤 막대 - 두 번째 스크롤 막대를 MouseMove 이벤트에서 사용 가능 - C#

+1

Winforms 또는 웹 응용 프로그램을 사용하고 있습니까? –

+0

"winforms 태그 안에 datagrid"라는 질문이있어서 winforms 태그를 추가했습니다. – Marijn

답변

1

당신은 또한 당신이 아마 당신이 원하는 어느 알 수 있기 때문에 처리기에서 DataGridView에를 사용하여 하드 코딩 수있는이

private void dataGridView1_MouseEnter(object sender, EventArgs e) 
{ 
    DataGridView dataGridView = sender as DataGridView; 
    if (dataGridView != null) 
    { 
     dataGridView.ScrollBars = ScrollBars.Both; 
    } 
} 

private void dataGridView1_MouseLeave(object sender, EventArgs e) 
{ 
    DataGridView dataGridView = sender as DataGridView; 
    if (dataGridView != null) 
    { 
     dataGridView.ScrollBars = ScrollBars.None; 
    } 
} 

처럼 MouseEnter와하는 MouseLeave에있는 DataGridView의 스크롤바 속성을 설정할 수 있지만, 여러 DataGridView에서이 값을 처리해야 할 경우이 값을 사용할 수 있습니다.

+0

dataGridView.ScrollBars = ScrollBars.Both; 이 문장은 두 스크롤 막대를 모두 보이게 할 것입니다. 그러나, 이것에 의해 DataGrid 영역에서 마우스 휠을 아래/위로 스크롤 할 수 있습니까? 현재 내가 DataGrid를 클릭하지 않으면, 마우스 휠 스크롤은 내 포인터가 어디에 있든 상관없이 외부 V.Scroll을 스크롤합니다. – Priyam

+0

나는 그것을 얻었다 !!! 난 그저 DataGrid에 초점을 가져와야했습니다. – Priyam