2011-10-23 2 views
0

나는 체크리스트 박스와 같은 높이의 아이템과 같은 수의리스트 박스를 갖고있다. 목록 상자를 사용하여 체크리스트 박스 항목의 상태를 유지합니다.두 개의 목록 상자를 스크롤하는 방법은 무엇입니까?

스크롤바가있는 경우 checkedlistbox를 스크롤해도 같은 색인이있는 목록 상자를 스크롤해야합니다. 나는 다른 양의 두루마리를 제외하고 일하는 것을 가지고있다.

private void checkedListBox1_MouseWheel(object sender, MouseEventArgs e) 
{ 
    int scroll = e.Delta/120; 

    if (scroll == 1) 
    { 
     checkedListBox1.TopIndex -= 5; 
     listBox1.TopIndex = checkedListBox1.TopIndex; 
    } 
    else if (scroll == -1) 
    { 
     checkedListBox1.TopIndex += 5; 
     listBox1.TopIndex = checkedListBox1.TopIndex; 
    } 
} 

또한, 내가 선택한 같은 인덱스를 얻기 위해이 코드를 사용하고 있지만, 목록 상자의 인덱스가 checkedlistbox에서 선택한 후 선택 때까지 약간의 지연이있다. 어쨌든 동시에 선택하도록 하시겠습니까?

private void checkedListBox1_MouseClick(object sender, MouseEventArgs e) 
{ 
    if (checkedListBox1.Items.Count > 0) 
    { 
     int selected = checkedListBox1.SelectedIndex; 
     if (checkedListBox1.GetItemChecked(selected) == false) 
     { 
      checkedListBox1.SetItemChecked(selected, true); 
      listBox1.SetSelected(selected, true); 
     } 
     else if (checkedListBox1.GetItemChecked(selected) == true) 
     { 
      checkedListBox1.SetItemChecked(selected, false); 
      listBox1.SetSelected(selected, true); 

     } 
    } 
} 

답변

2

당신은 xaml.cs 부분

private void ScrollViewer1_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e) 
{   
ScrollViewer2.ScrollToHorizontalOffset(double.Parse(ScrollViewer1.HorizontalOffset.ToString())); 
} 
을에 코드를 작성 두에서 ScrollViewer 내부와 viewChanged 이벤트리스트 박스를 넣을 수 있습니다
관련 문제