Usuário com melhor resposta
For Each controle As Control In panApostas.Controls

Pergunta
-
Em panel inseri 60 Labels e nomeie como lbl_01 a lbl_60, estão indexado e 0 a 59.
Quando os pecorros no For Each (ver código abaixo), é lido a partir do primeiro (lbl_01, índice 0) até o quinto label (lbl_05 índice 5) em ordem crescente, após isto é lido em ordem decrescente, do ultimo Label (lbl_60 índice 59), alternadamente em ordem crescente.
lbl_01, lbl_02, lbl_03, lbl_04, lbl_60, lbl_05, lbl_59, lbl_06, lbl_58......lbl_35, lbl_30, lbl_34, lbl_31, lbl_33, lbl_32.
Como corrigir isto, quero que seja lido em ordem crescente do lbl_01 ao lbl_60.
Dim Dezena As String = "" For Each controle As Control In panApostas.Controls If TypeOf controle Is Label Then Dim lblDZ As Label = TryCast(controle, Label) Debug.Print(lblDZ.Name.ToString) If lblDZ.BackColor = Color.LightGreen Then If Dezena.Length = 0 Then Dezena = lblDZ.Name.Substring(4, 2) Else Dezena = Dezena & "; " & lblDZ.Name.Substring(4, 2) End If End If End If Next
Sergio Ivanenko
Respostas
-
Resolvi criando um novo array do tipo Integer, onde adicionei os números da primeira array do tipo "string". A ordenação foi feita através da propriedade ".sort", da novo array.
Sergio Ivanenko
- Marcado como Resposta Ivanenko terça-feira, 7 de agosto de 2018 00:35
Todas as Respostas
-
Boa noite amigo, veja se te ajuda.
Gif
Codigo
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load Dim L As New List(Of Integer) For x As Integer = 0 To Me.Controls.Count - 1 Application.DoEvents() If TypeOf Me.Controls.Item(x) Is Label Then L.Add(x) End If Next Dim i As Integer = L.Count - 1 Do While True Application.DoEvents() If i < 0 Then Exit Do End If MsgBox(Me.Controls.Item(i).Name) i -= 1 Loop End Sub End Class
-
Resolvi criando um novo array do tipo Integer, onde adicionei os números da primeira array do tipo "string". A ordenação foi feita através da propriedade ".sort", da novo array.
Sergio Ivanenko
- Marcado como Resposta Ivanenko terça-feira, 7 de agosto de 2018 00:35