在我的 C# winforms 应用程序中,我有一个数据网格。当数据网格重新加载时,我想将滚动条设置回用户设置的位置。我怎样才能做到这一点?
编辑:我使用的是旧的 winforms DataGrid 控件,而不是较新的 DataGridView
您实际上并不直接与滚动条交互,而是设置FirstDisplayedScrollingRowIndex
。因此,在重新加载之前,捕获该索引,重新加载后,将其重置为该索引。
EDIT:评论里说得好。如果您使用的是DataGridView
那么这就会起作用。如果您使用的是旧版DataGrid
那么最简单的方法就是继承它。看这里:Linkage http://www.thescarms.com/dotnet/ScrollDataGrid.aspx
DataGrid 有一个受保护的 GridVScrolled 方法,可用于将网格滚动到特定行。要使用它,请从 DataGrid 派生一个新网格并添加 ScrollToRow 方法。
C# code
public void ScrollToRow(int theRow)
{
//
// Expose the protected GridVScrolled method allowing you
// to programmatically scroll the grid to a particular row.
//
if (DataSource != null)
{
GridVScrolled(this, new ScrollEventArgs(ScrollEventType.LargeIncrement, theRow));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)