Cha*_*ams 6 c# datagridview winforms
因此,我们都熟悉单击并按住鼠标按钮的功能,然后将鼠标移动到网格的边缘,并且列/行滚动并且选择增加.
我有一个基于DataGridView的控件,由于性能问题,我不得不关闭MultiSelect并自行处理选择过程,现在点击+保持滚动功能也被禁用.
有关如何回写此功能的任何建议?
我正在考虑使用像MouseLeave事件这样简单的东西,但我不确定如何确定它留下的位置,以及实现动态滚动速度.
只需将此代码添加到Form1_Load即可
DataGridView1.MouseWheel += new MouseEventHandler(DataGridView1_MouseWheel);
Run Code Online (Sandbox Code Playgroud)
这个是针对MouseWheel事件的
void DataGridView1_MouseWheel(object sender, MouseEventArgs e)
{
int currentIndex = this.DataGridView1.FirstDisplayedScrollingRowIndex;
int scrollLines = SystemInformation.MouseWheelScrollLines;
if (e.Delta > 0)
{
this.DataGridView1.FirstDisplayedScrollingRowIndex
= Math.Max(0, currentIndex - scrollLines);
}
else if (e.Delta < 0)
{
this.DataGridView1.FirstDisplayedScrollingRowIndex
= currentIndex + scrollLines;
}
}
Run Code Online (Sandbox Code Playgroud)