Je souhaite pouvoir parcourir les objets d'une feuille=20
WINDOWS
et modifier la hauteur des TEXBOX, des bouttons par=20
programme, pour obtenir
une hauteur uniforme des champs de saisie, ...
Ci-joint =E9bauche d'un PGM VB.NET
Comment =E7=E0 marche ? Merci pour le tuyau !
Daniel
Sub Remapping()
Dim FeuilleCourante As System.Windows.Forms.Form =3D=20
System.Windows.Forms.Form.ActiveForm
Dim Incr=E9ment As Integer
For Incr=E9ment =3D 0 To FeuilleCourante.Controls.Count - 1
' Recherche tous les types de contr=F4le :
select case FeuilleCourante.Controls(Incr=E9ment)
case ?(Zone TextBox)
FeuilleCourante.Controls(Incr=E9ment).height =3D 100
=09
case ?(Boutton de commande)
FeuilleCourante.Controls(Incr=E9ment).height =3D 120
=09
case else=09
End Select=20
Next =20
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
RAVAILLE James
Bonjour,
Pour ce que vous souhaitez faire, il est intéressant d'utiliser la structure itérative for each 'item'in 'collection'. Dans notre cas 'item' est un objet de type System.Windows.Control (un contrôle Windows) et la collection est la liste des contrôles contenues dans la Form, implémentée par Me.Controls. Pour chacun des contrôles de la Form, en fonction du type, on peut effectuer divers traitements tels que la modification de la longueur du contrôle (propriété Width), la hauteur (propriété Height)...
Voici un exemple de code : Dim oCtrl As Control
For Each oCtrl In Me.Controls If (TypeOf oCtrl Is TextBox) Then oCtrl.Width = 100 End If Next
Précision : si dans cet exemple, vous ne souhaitez pas modifier tous les contrôles TextBox de la Form, alors il est intéressant de préfixer leur nom par une contante et d'ajouter un test supplémentaire sur le nom : If ((TypeOf oCtrl Is TextBox) And (oCtrl.Name.Substring(0, 3) = "Txt")) Then oCtrl.Width = 200 End If
Ainsi, uniquement les contrôles TextBox de la Form dont le nom commence par Txt seront traités.
A+. -- James RAVAILLE.
"Daniel" a écrit :
Je souhaite pouvoir parcourir les objets d'une feuille WINDOWS et modifier la hauteur des TEXBOX, des bouttons par programme, pour obtenir une hauteur uniforme des champs de saisie, ... Ci-joint ébauche d'un PGM VB.NET Comment çà marche ? Merci pour le tuyau ! Daniel
Sub Remapping() Dim FeuilleCourante As System.Windows.Forms.Form = System.Windows.Forms.Form.ActiveForm Dim Incrément As Integer For Incrément = 0 To FeuilleCourante.Controls.Count - 1 ' Recherche tous les types de contrôle : select case FeuilleCourante.Controls(Incrément) case ?(Zone TextBox) FeuilleCourante.Controls(Incrément).height = 100
case ?(Boutton de commande) FeuilleCourante.Controls(Incrément).height = 120
case else End Select Next End Sub
Bonjour,
Pour ce que vous souhaitez faire, il est intéressant d'utiliser la structure itérative for each 'item'in 'collection'.
Dans notre cas 'item' est un objet de type System.Windows.Control (un contrôle Windows) et la collection est la liste des contrôles contenues dans la Form, implémentée par Me.Controls.
Pour chacun des contrôles de la Form, en fonction du type, on peut effectuer divers traitements tels que la modification de la longueur du contrôle (propriété Width), la hauteur (propriété Height)...
Voici un exemple de code :
Dim oCtrl As Control
For Each oCtrl In Me.Controls
If (TypeOf oCtrl Is TextBox) Then
oCtrl.Width = 100
End If
Next
Précision : si dans cet exemple, vous ne souhaitez pas modifier tous les contrôles TextBox de la Form, alors il est intéressant de préfixer leur nom par une contante et d'ajouter un test supplémentaire sur le nom :
If ((TypeOf oCtrl Is TextBox) And (oCtrl.Name.Substring(0, 3) = "Txt")) Then
oCtrl.Width = 200
End If
Ainsi, uniquement les contrôles TextBox de la Form dont le nom commence par Txt seront traités.
A+.
--
James RAVAILLE.
"Daniel" a écrit :
Je souhaite pouvoir parcourir les objets d'une feuille
WINDOWS
et modifier la hauteur des TEXBOX, des bouttons par
programme, pour obtenir
une hauteur uniforme des champs de saisie, ...
Ci-joint ébauche d'un PGM VB.NET
Comment çà marche ? Merci pour le tuyau !
Daniel
Sub Remapping()
Dim FeuilleCourante As System.Windows.Forms.Form =
System.Windows.Forms.Form.ActiveForm
Dim Incrément As Integer
For Incrément = 0 To FeuilleCourante.Controls.Count - 1
' Recherche tous les types de contrôle :
select case FeuilleCourante.Controls(Incrément)
case ?(Zone TextBox)
FeuilleCourante.Controls(Incrément).height = 100
case ?(Boutton de commande)
FeuilleCourante.Controls(Incrément).height = 120
Pour ce que vous souhaitez faire, il est intéressant d'utiliser la structure itérative for each 'item'in 'collection'. Dans notre cas 'item' est un objet de type System.Windows.Control (un contrôle Windows) et la collection est la liste des contrôles contenues dans la Form, implémentée par Me.Controls. Pour chacun des contrôles de la Form, en fonction du type, on peut effectuer divers traitements tels que la modification de la longueur du contrôle (propriété Width), la hauteur (propriété Height)...
Voici un exemple de code : Dim oCtrl As Control
For Each oCtrl In Me.Controls If (TypeOf oCtrl Is TextBox) Then oCtrl.Width = 100 End If Next
Précision : si dans cet exemple, vous ne souhaitez pas modifier tous les contrôles TextBox de la Form, alors il est intéressant de préfixer leur nom par une contante et d'ajouter un test supplémentaire sur le nom : If ((TypeOf oCtrl Is TextBox) And (oCtrl.Name.Substring(0, 3) = "Txt")) Then oCtrl.Width = 200 End If
Ainsi, uniquement les contrôles TextBox de la Form dont le nom commence par Txt seront traités.
A+. -- James RAVAILLE.
"Daniel" a écrit :
Je souhaite pouvoir parcourir les objets d'une feuille WINDOWS et modifier la hauteur des TEXBOX, des bouttons par programme, pour obtenir une hauteur uniforme des champs de saisie, ... Ci-joint ébauche d'un PGM VB.NET Comment çà marche ? Merci pour le tuyau ! Daniel
Sub Remapping() Dim FeuilleCourante As System.Windows.Forms.Form = System.Windows.Forms.Form.ActiveForm Dim Incrément As Integer For Incrément = 0 To FeuilleCourante.Controls.Count - 1 ' Recherche tous les types de contrôle : select case FeuilleCourante.Controls(Incrément) case ?(Zone TextBox) FeuilleCourante.Controls(Incrément).height = 100
case ?(Boutton de commande) FeuilleCourante.Controls(Incrément).height = 120