两个滚动条 - 在MouseMove事件上启用第二个滚动条 - C#

时间:2011-11-16 10:27:29

标签: c# winforms scrollbar mouseevent mousemove

我在win表单中有一个datagrid,每个都有一个V.滚动条。现在,默认情况下外部滚动条处于活动状态,并且要激活内部滚动,我必须在数据网格内部单击。 我想要的是当鼠标移动到数据网格上时,数据网格的滚动应该是活动的,当我的鼠标在数据网格区域之外时,表单的滚​​动应该是活动的。

1 个答案:

答案 0 :(得分:1)

你可以在MouseEnter和MouseLeave上设置DataGridView的ScrollBars属性,就像这样

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;
    }
}

你也可以使用处理程序中的dataGridView进行硬编码,因为你可能知道你想要哪一个,但是如果你需要在多个DataGridViews上处理它,你可以使用它。