tinux
Messages postés244Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention21 octobre 2013
-
3 août 2006 à 12:57
Utilisateur anonyme -
3 août 2006 à 21:50
Nouvelle question lool, cette fois-ci la source me pose des soucis ...
Voilà, pourquoi la propriété Lines d'un Textbox ne marche pas quand c'est défini par un control.. je m'explique :
J'ai une fonction qui parcours tous les textbox de ma forms, seulement ces textbox sont en fait des txtbx multiline.. mais seul la 2ème ligne m'intérèsse dans Ma fonction ! j'ai donc fait ça :
____
Dim Composant As Control
For Each Composant In formulaire.Controls
If TypeOf Composant Is TextBox Then
Dim cRubrique As String
cRubrique = Composant.Lines(1)
'... suite de la fonction
End If
Next
____
Mais vb me dit que Lines n'est pas un attribut de 'Windows.Form.Control' alors que l'on peut faire Composant.Text, Composant.ForeColor etc... pourquoi le lines ne passe pas ?
Non ca marchera pas. Dommage !
Il faut vérifier la longelur du tableau:
If
txtboxctrl.Lines.Length > 1
Then
[...]
End
If
Kenji
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
La base des controles windowsforms est un System.Windows.Forms.Control qui comprend les propriété Text, ForeColor ... donc on retrouvera ces propriétés sur tous les windowsforms. Après, chaque contrôle a ses propriétés spécifique.
Donc pour avoir accés, il faut que tu cast ton control en textbox:
Dim
Composant
As
System.Windows.Forms.Control
For
Each
Composant
In
formulaire.Controls
If
TypeOf
Composant
Is
System.Windows.Forms.TextBox
Then
Dim
TxtBoxCtrl
As
System.Windows.Forms.TextBox =
CType
(Composant, System.Windows.Forms.TextBox)
Dim
cRubrique
As
String
cRubrique = TxtBoxCtrl.Lines(1)
'... suite de la fonction
End
If
Next
Kenji
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
tinux
Messages postés244Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention21 octobre 2013 3 août 2006 à 15:05
Ok donc si j'ai bien compris en fait 'Control' regroupe tous les contrôles que l'on peut avoir dans la fenêtre 'Propriétés'.. Et bien encore une fois merci, décidément tu as réponse à tout
tinux
Messages postés244Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention21 octobre 2013 3 août 2006 à 15:33
Oups j'ai été un peu trop vite lool :
Déjà pour :
Dim
cRubrique
As
String
cRubrique = TxtBoxCtrl.Lines(1)
il me met :
'Index was outside the bounds of the array.'
Et ensuite pour la suite de la fonction (que tu connais d'ailleurs ) ne fonctionne plus non plus : il me met qu'elle ne peut convertir string en integer.. pourtant il y a pas de string .. :
DimComposant As System.Windows.Forms.Control
For Each Composant In formulaire.Controls
If TypeOf Composant Is System.Windows.Forms.TextBox Then
Dim TxtBoxCtrl As System.Windows.Forms.TextBox = CType(Composant, System.Windows.Forms.TextBox)
Dim cRubrique As String
cRubrique = TxtBoxCtrl.Lines(1)
Dim cKey As String = "CouleurText"
Dim cKey1 As String = "CouleurCell"
Dim cRepertoire As String = Space(255)
Dim cRepertoire1 As String = Space(255)
Dim cIniFile As String = "C:\WINDOWS\Coloration.ini"
Ok ... alors,
L'erreur, c'est que tu as un textbox dans le tas, qui n'a qu'une ligne. D'ou, il la trouve pas, et bam ... erreur.
Donc, il faut que tu fasse un teste si cette deuxième ligne existe avant de passer a la suite.
Pour la deuxieme erreur, travaille avec Option Strict. Tu melange tout les type de donnée.
Le compilateur, il sait pas faire System.Drawing.Color.FromArgb( ...*255"),
il veut un integer
Dim
cRepertoire As String = Space(255) ' Ceci aurais du être un integer (Dim cRepertoire As Integer)
'pareil pour
cRepertoire1
Kenji
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
tinux
Messages postés244Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention21 octobre 2013 3 août 2006 à 18:24
Ok, première erreur résolue
Sinon je travaille avec l'option strict on, mais il y a un truc qui m'échappe, pourquoi ce mêli-melo à t-il fonctionné en dehors de la fonction ?
J'essaye de démêler les noeuds là
Alors la va savoir, tout dépend de ce qui se passe dans ton code.
Kenji
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a nous. Merci