J'aimerai contrôler l'existence d'un type d'objet dans ma liste de contrôles avant de commencer l'énumération avec Each.
Comment faire ?
(voir commentaire, code ci-dessous)
Private Sub GroupBoxLabelFont()
Dim curCTR As ControlCollection = Me.Controls
If curCTR.Count = 0 Then Exit Sub
Dim curGB As GroupBox
Dim curLAB As Object
'Si dans la liste curCTR il n'existe pas de type
'groupebox alors Exit Sub ????
For Each curGB In curCTR
'Si dans la liste curGB il n'existe pas de type
'label alors Exit For ????
For Each curLAB In curGB.Controls
If curLAB.GetType = GetType(Label) Then
curLAB.ForeColor = Color.DarkRed
End If
Next
Next
End Sub
Private Sub GroupBoxLabelFont()
Dim curGBs as IEnumerable = From c In Me.Controls
Where c.GetType.Tostring = GetType(GroupBox).TString
For Each curGB As GroupBox in curGBs
Dim curLBLs as IEnumerable= From c In curGB.Controls
Where c.GetType.Tostring = GetType(Label).TString
For Each curLBL As Label in curLBLs
curLBL.ForeColor = Color.DarkRed
Next
Next
End Sub
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
Merci Henry; c'est carrément mieux !!!
(encore mon coté "Alzheimer vb6" à améliorer ^^)
Extra Casy ^^
Le trésor de VB-BABA et des 40 codeurs ^^
C'est surréaliste le Linq !!! Wahhh :)
ça évite le plantage de type si il n'en existe pas.
Si le type est absent, le debugger reprend comme par magie la suite de l'énumération qui semble positionné en mémoire en tâche de fond.
Sa ressemble à une requête SQL sauf qu'elle s'applique au code !!!
Même si je ne sais pas comment il fait pour passer cette exception de type, cette méthode "LINQ" viens de me créer un filet de bave d'émerveillement.
Merci à vous !!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Linq est un acronyme de "Language Integrated Query"
C'est, comme son nom l'indique, un langage de requetage intégré (d'ou la ressemblance avec SQL) qui a été introduit avec VS2008.
Initialement décliné en 3 catégories, Linq To Object (code que j'ai donné), Linq To Xml (anciennement XLINQ), Linq to SQL (anciennement DLINQ), de nombreux providers, ont, depuis été créés. Une liste, probablement pas exhaustive existe ici
Je suis, moi-même, à peine à la découverte.
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i