我有一个checkedlistbox和一个列表框,它们的高度相同,其中包含相同数量的项目。我使用列表框来保存checkedlistbox的状态。
如果有滚动条,则滚动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);
}
}
}
答案 0 :(得分:2)
您可以将列表框放在两个scrollviewer中,并在viewChanged事件中编写xaml.cs部分的代码
private void ScrollViewer1_ViewChanged(object sender, ScrollViewerViewChangedEventArgs e)
{
ScrollViewer2.ScrollToHorizontalOffset(double.Parse(ScrollViewer1.HorizontalOffset.ToString()));
}
答案 1 :(得分:0)