Windows窗体DataGridView滚动

时间:2011-02-22 17:20:40

标签: winforms datagridview

我想在DataGridView中创建一种滑动滚动效果。我想向下滚动一行,但我想让它慢慢滑动,以便用户清楚它正在滚动。

这有可能吗?我发现你可以使用FirstDisplayedScrollingRowIndex属性直接滚动到一行,但这不是我想要的。

编辑:如果我能找到一种在行边界之间滚动的方法,我想我可以做到这一点。然后我可以通过编程方式以小增量滚动几次,使其看起来好像在慢慢滚动。

非常感谢帮助。

1 个答案:

答案 0 :(得分:0)

所以我找到了一个有效的解决方案,虽然它不是一个很好的解决方案。以下代码给出了DataGridView中平滑滚动的外观。

    //Insert Row at bottom of DataGridView with a row height of 0 here

    DataGridView1.Enabled = false;

    for (int i = 0; i < ROW_HEIGHT; i++)
    {
        DataGridView1.Rows[0].Height--;
        DataGridView1.Rows[LAST_ROW].Height++;
        Thread.Sleep(20);
    }

    DataGridView1.Enabled = true;

    // Remove first row in DataGridView here

这个解决方案的作用只是因为我每次添加新的时都会删除DataGridView中的第一行,这就是为什么我可以慢慢将它减少到高度0,因为它无论如何都会被删除。这基本上给了我一定数量的行,基本上创建了一个固定大小的队列。