syberia76
Messages postés2Date d'inscriptionlundi 12 juin 2006StatutMembreDernière intervention14 mai 2007
-
8 mai 2007 à 18:28
cs_Jminterroge
Messages postés6Date d'inscriptionsamedi 2 octobre 2010StatutMembreDernière intervention 7 janvier 2014
-
13 oct. 2010 à 13:36
Bonjour,
Je fais un petit programme (Visual Basic 2005) dans lequel je copie les valeurs de 32 Texbox dans 32 variables de type "STRING"
Bien sur, le programme fonctionne en tapant :
Variable(1) = TextBox1.Text
Variable(2) = TextBox2.Text
....
Mais je souhaitais faire une boucle "for next"
J'ai essayé ceci :
For i = 1 to 32
Variable(i) = Me.Controls ("TextBox" & CStr (i)).Text
Next i
J'obtiens un erreur "La référence d'objet n'est pas définie à une instance d'un objet" Conseil de dépannage "Utilisez le mot clé "new" pour créer une instance d'objet".
Etant donné que je suis débutant , je ne sais pas quoi faire...
Merci par avance pour votre aide et si l'indexation de textbox n'est pas possible en VB2005, je me contenterais du ligne par ligne
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 8 mai 2007 à 23:17
Voici un petit exemple de création et de travail avec des controles indexés comme en vb6
Tu crée un nouveau projet avec une feuille. Tu affiche la partie code de la feuille et tu y colle ce code dedans entre les lignes Class/ End Class, et tu execute
Ensuite tu balade la souris sur les textbox et tu regarde.
L'évènement MouseEnter se produit lorsque la souris passe au dessu d'un controle, MouseLeave lorsqu'elle le quitte.
' Creation de la collection de textbox
Dim ColTxtBx As New Collections.ObjectModel.Collection(Of TextBox)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles
MyBase.Load
'--- Préparation du
contexte -----------------------------------------
Me.Size = New Size(700, 900)
Dim bt As New Button
bt.Location = New Point(500, 100)
bt.Text = "Colorer les textboxs"
bt.AutoSize = True
Me.Controls.Add(bt)
AddHandler bt.Click, AddressOf Button1_Click
'---------------------------------------------------------------------
'--- Creation des textboxs indexées
----------------------------------
For i As Integer = 0 To 31
' Creation de
chaque textbox
ColTxtBx.Add(New TextBox)
' Ajout du nouveau controle à la collection de
controles de la feuille
Me.Controls.Add(ColTxtBx(i))
' Initialisation de quelques propriétés de la
textbox indexée
ColTxtBx(i).Name = "TextBox
" & (i + 1).ToString
ColTxtBx(i).Location = New Point(45, 5
+ (ColTxtBx(i).Height + 5) * i)
ColTxtBx(i).Text = ColTxtBx(i).Name
' Abonnement à 2 des évènements de la
textbox
AddHandler ColTxtBx(i).MouseEnter, AddressOf ColTxtBx_MouseEnter
AddHandler ColTxtBx(i).MouseLeave, AddressOf ColTxtBx_MouseLeave
Next
'---------------------------------------------------------------------
End Sub
Private Sub ColTxtBx_MouseEnter(ByVal sender As Object, ByVal e
As System.EventArgs)
' Récupère
une référence sur le textbox déclencheur
Dim sd As TextBox = CType(sender,
TextBox)
' Modification de quelques
paramètres de la textbox
sd.Font = New Font(sd.Font, FontStyle.Bold)
sd.BackColor = Color.Chocolate
sd.ForeColor = Color.White
End Sub
Private Sub ColTxtBx_MouseLeave(ByVal sender As Object, ByVal e
As System.EventArgs)
' Récupère
une référence sur le textbox déclencheur
Dim sd As TextBox = CType(sender,
TextBox)
' Modification de quelques
paramètres de la textbox
sd.Font = New Font(sd.Font, FontStyle.Regular)
sd.BackColor = Color.White
sd.ForeColor = Color.Black
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
'
Travail sur les textbox indexés
For i As Integer = 0 To ColTxtBx.Count - 1
ColTxtBx(i).BackColor = Color.Red
Next
End Sub
Ce n'est qu'un petit exemple très simple. Maintenant il te reste plus qu'a essayer et fouiller pour adapter à tes besoins.
---- Sevyc64 (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Jminterroge
Messages postés6Date d'inscriptionsamedi 2 octobre 2010StatutMembreDernière intervention 7 janvier 2014 2 oct. 2010 à 11:31
Ces derniers temps je me suis décidé à développer à nouveau une ancienne application réalisé à partir de Visual Basic 6.
Sans aucune prétention, j'ai mis en ligne cet exemple d'application sur mon blog Jminterroge-OverBlog
cs_Jminterroge
Messages postés6Date d'inscriptionsamedi 2 octobre 2010StatutMembreDernière intervention 7 janvier 2014 13 oct. 2010 à 13:36
Bonjour,
J'ai complété mon exemple d'indexation des "controls" pour Visual Studio Express version 2008 par trois articles complémentaires que vous trouverez sur mon blog Jminterroge-OverBlog.