Vb.net 启动';对于每个As DataGridViewRow';在特定行

Vb.net 启动';对于每个As DataGridViewRow';在特定行,vb.net,datagridview,datatable,Vb.net,Datagridview,Datatable,目前,我有一个函数可以搜索DataGridView中的每一行,看起来是这样的 For Each row As DataGridViewRow In DataGridView1.Rows Next 但是,由于其他原因导致的问题,我需要在特定行的每一行开始。 我尝试过“在DataGridView1.Rows.IndexOf(RowToStartAt)中将每一行作为DataGridViewRow”,但这似乎是错误的方法 我想做的事到底有没有可能?还是我只是尝试使用了错误的方法?您可以使用这种语法

目前,我有一个函数可以搜索DataGridView中的每一行,看起来是这样的

 For Each row As DataGridViewRow In DataGridView1.Rows
 Next
但是,由于其他原因导致的问题,我需要在特定行的每一行开始。 我尝试过“在DataGridView1.Rows.IndexOf(RowToStartAt)中将每一行作为DataGridViewRow”,但这似乎是错误的方法


我想做的事到底有没有可能?还是我只是尝试使用了错误的方法?

您可以使用这种语法

For Each row in dgv.Rows.Cast(Of DataGridViewRow)().Skip(5)
    Console.WriteLine(row.Cells(0).Value.ToString())
Next
在本例中,循环跳过前5行,然后开始枚举


不确定这是否真的有益。传统的。。。循环可能更清晰,但随着Linq的发展,这将达到所需的结果

这实际上非常有效。我最初的问题是,当延迟设置为1000时,与我的计时器相关的某些东西导致它在第35行停止。如果我把延迟改为100,它将在4停止,如果设置为10000,它将在第350行停止。我希望这些答案能帮助任何有类似特殊问题的人@Crystalwolf我知道这篇文章已经有两年多的历史了,但我想,也许你后来发现了,你的计时器事件触发了一个跨线程操作。计时器在单独的线程上运行,当事件结束时,该方法不会在窗体线程上运行。这可能是导致它停止在特定行的原因-跨线程异常。您需要在timer-appeased方法中使用invoke——我猜您是在尝试从该事件更新UI。