Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在datagridview滚动条上检测MouseDown事件?_C#_Datagridview_Scrollbar - Fatal编程技术网

C# 如何在datagridview滚动条上检测MouseDown事件?

C# 如何在datagridview滚动条上检测MouseDown事件?,c#,datagridview,scrollbar,C#,Datagridview,Scrollbar,我知道如何在普通滚动条上访问鼠标事件。但是如何检测用户是否在datagridview控件的滚动条上按住鼠标按钮 背景:我的datagridview实时填充了大量数据,并自动滚动到最后一个条目。当用户现在想要向上滚动一点时,自动滚动应该等待用户释放滚动条 自动滚动代码: if (mygrid.Rows.Count > 0) { mygrid.FirstDisplayedScrollingRowIndex = mygrid.Rows.Count - 1; } 我想,你可以试着用鼠标勾住事件,

我知道如何在普通滚动条上访问鼠标事件。但是如何检测用户是否在datagridview控件的滚动条上按住鼠标按钮

背景:我的datagridview实时填充了大量数据,并自动滚动到最后一个条目。当用户现在想要向上滚动一点时,自动滚动应该等待用户释放滚动条

自动滚动代码:

if (mygrid.Rows.Count > 0)
{
mygrid.FirstDisplayedScrollingRowIndex = mygrid.Rows.Count - 1;
}

我想,你可以试着用鼠标勾住事件,但真正的问题是:这是否足够好,还是滚动仍然会首先发生?也许您想在mousemove或mouseenter事件中检查光标位置和鼠标按钮?如何实现自动滚动?添加了自动滚动代码。这很简单,我只想添加一个额外的标志检查,一旦用户按下mousedown/mouseup,就应该设置该标志。当我想象你的程序时,我想知道:我不恨自动滚动发生,不仅仅是当我试图嘲笑自己时,而且当我在DGV上做任何其他事情时?比如选择一个单元格等等。。考虑使用<代码> MouseEnter < /代码>和<代码> MouseLeave < /C>事件设置“<代码> BooDoTututsCurLL< <代码>标志”。因为网格显示只读信息,所以不需要选择单元格或其他东西。因为有很多信息,而且网格滚动得相当快,用户很可能会使用滚动条来检查内容。我明白了。但是,当我阅读一些东西的时候,我不希望它被推高,因为还有其他的东西在被添加。我仍然认为使用MouseEnter和MouseLeave将是一个好的、简单的事件。。