TextBox.Lines() dans un Control TextBox multiline.. [Résolu]

tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 12:57 - Dernière réponse : Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention
- 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 ?

Merci !
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 19:19
3
Merci
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

Merci Charles Racaud 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de Charles Racaud
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 14:44
0
Merci
Salut,

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
Commenter la réponse de Charles Racaud
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 15:05
0
Merci
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
Commenter la réponse de tinux
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 15:33
0
Merci
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"

                Dim istat As Integer
                Dim istat1


As Integer











                istat = Get_Private_Profile_String(cRubrique, cKey, "", cRepertoire, cIniFile)
                istat1 = Get_Private_Profile_String(cRubrique, cKey1, "", cRepertoire1, cIniFile)

                TxtBoxCtrl.ForeColor = System.Drawing.Color.FromArgb(cRepertoire)
                TxtBoxCtrl.BackColor = System.Drawing.Color.FromArgb(cRepertoire1)

            End If
        Next
Commenter la réponse de tinux
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 16:01
0
Merci
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
Commenter la réponse de Charles Racaud
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 18:24
0
Merci
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à
Commenter la réponse de tinux
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 18:29
0
Merci
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
Commenter la réponse de Charles Racaud
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 18:36
0
Merci
Bas c'est le couac.. :

la f° que tu m'as donnée convertir la couleur en integer et est enregistrée en string dans le fichier ini

Ma f° récupère les valeurs du fichiers ini : que des strings

-- donc jusqu'à la tout ce passe bien.. mais problème :

la f° que tu m'as donnée pour reconvertir l'integer en couleur ne marche plus, puisque notre nombre n'est plus integer mais string...

Donc je sais plus quoi faire.. on peut pas enregistrer sous forme d'integer et que ça reste tout le temps integer ? lool
Commenter la réponse de tinux
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 18:47
0
Merci
Il faut que tu le convertise en integer



TaCouleurEnInt
= System.Convert.ToInt32(TaCouleurEnString)





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
Commenter la réponse de Charles Racaud
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 19:12
0
Merci
Ok c'est bon mais le problème de la deuxième ligne revient !

Peut être qu'avec if not txtboxctrl.lines(1) = '' '' then.. ça va marcher.. je vais essayer plus tard

En tout cas merci et bonne soirée !
Commenter la réponse de tinux
tinux 246 Messages postés mercredi 13 avril 2005Date d'inscription 21 octobre 2013 Dernière intervention - 3 août 2006 à 21:47
0
Merci
lol effectivement.. Bon bah voilà, ya plus qu'a parfaire le code, régler les ptis soucis pis voilà... Grand Grand Merci à toi ;)
Commenter la réponse de tinux
Charles Racaud 3181 Messages postés dimanche 15 février 2004Date d'inscription 9 avril 2017 Dernière intervention - 3 août 2006 à 21:50
0
Merci
Mais de rien



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
Commenter la réponse de Charles Racaud

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.