我运行以下代码块作为Form.load中的最后一件事:
For Each c As Control In Me.Controls
If TypeOf c IsNot NameLabels Then
c.SendToBack()
End If
Next
'NameLabels'是一个继承常规旧标签控件的类。区别在于,我有一个用于NameLabel的特殊事件处理程序,该事件处理程序允许我使用鼠标在周围移动它们。
我尝试使用以下命令对其进行一些切换:
For Each c As Control In Me.Controls
If TypeOf c Is NameLabels Then
c.BringToFront()
End If
Next
我在这里想要做的是确保任何NameLabel始终保持在所有其他控件的顶部。因为它们会移动,所以有时在重新绘制表单时,其他控件会堆叠在我的NameLabel上。这使他们很难看到或访问它们。
由于我在这里发布,您可以放心地认为该代码块没有达到我的期望。有没有一种方法可以100%确保NameLabels类型的所有控件将保留在表单中的所有其他控件之上? (注意:我已经准备好了确保两个NameLabel不能位于同一位置的代码。它们可以根据需要部分重叠,但是它们永远不会具有相同的(x,y)坐标。(注意#2:全部NameLabel的大小也一样,只是fyi。)