我正在为我高中的VB.NET班级做一些事情,我之前在互联网上找到了一种使用Controls("lbl" & i).Text = "Example"快速更改/设置多个标签的方法。
现在我们正在做一些简单的动画(我想更进一步),我想有一个计时器,这样每个用按键创建的矩形都会开始通过计时器移动。如果这基本上令人困惑,我想要做的是(当然是错误的语法,因为我使用controls()作为示例):
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
For i = 0 to createdRectangleAmount
Controls("rec" & i).left += 1
Next
End Sub此外,作为最后一个附注,计时器仅在创建矩形(矩形0)后启用,因此这不会产生错误,除了明显的控件误用()
发布于 2015-04-13 04:27:13
使用filter获取特定的控件集合。OfType会询问您要查找的控件类型。Where谓词使用条件表达式进行一些过滤,如下所示)。这还假设所有控件都位于forms控件集合中,而不是位于任何其他容器(面板、分组框等)中。一如既往地检查你的MSDN
Dim recs = Me.Controls.OfType(Of RectangleShape)().
Where(Function(r) r.Name.StartsWith("rec"))
For Each rec In recs
rec.SetBounds(recBounds.Left + 1, rec.Bounds.Top, rec.Width, rec.Height)
Nexthttps://stackoverflow.com/questions/29593929
复制相似问题