gpt4 book ai didi

c# - 在基础设施的 ultragridview 中自动滚动

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:29 26 4
gpt4 key购买 nike

我在我的程序中使用 Infragistics UltraGridView。是否可以将它设置为自动滚动 UltraGridView 从顶部开始到底部然后将其重置回顶部?此外,UltraGridView 将设置为 AutoRefresh。有什么想法吗?

最佳答案

你可以像这样简单地构建一个紧密的循环

foreach (UltraGridRow row in grid.Rows)
{
row.Activate();
}

但是不清楚你写这段代码的目的是什么。在网格上滚动时,您的用户可能无法理解任何数据。

相反,如果您的目的是将特定行设置为网格区域中的第一行,那么您应该按照此行工作

grid.ActiveRowScrollRegion.FirstRow = grid.Rows[500];

(假设你有超过 500 行当然)

如果您想减慢滚动速度,则可以添加一个计时器并在 Tick 事件中运行 Activate 调用。在这种情况下,您可以编写这样的类

public class SlowScroller
{
private UltraGridRow current = null;
private UltraGrid grd = null;
private System.Windows.Forms.Timer t = null;
public SlowScroller(UltraGrid grid)
{
grd = grid;
t = new System.Windows.Forms.Timer();
}

public void Start(int interval)
{
t.Interval = interval;
t.Tick += onTick;
t.Start();
}

public void Stop()
{
if (t.Enabled)
t.Stop();
}
private void onTick(object sender, EventArgs e)
{
if(current == null)
current = grd.Rows[0];
else
current = current.GetSibling(SiblingRow.Next);
current.Activate();
}
}

然后用

调用它
SlowScroller ss = new SlowScroller(grid);
ss.Start(500); // Scroll every 500 milliseconds

请注意 Stop 方法的存在。这是必要的,因为您不希望此类继续触发 Tick 事件,即使您放弃了表单也是如此。因此,您需要在 Form_Closing 事件处理程序中调用 Stop

关于c# - 在基础设施的 ultragridview 中自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40022169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com