Ajouter dynamiquement un groupe de textbox pour des calcul
Résolu
amistos
Messages postés
12
Statut
Membre
-
amistos Messages postés 12 Statut Membre -
amistos Messages postés 12 Statut Membre -
Bonjour, a tous
voila je c que c dit plusieurs fois mais dans mon cas sous vb.net 2010 express je veux créer plusieurs textbox dynamiquement qui seront liées par plusieurs formule de calcul.
y'aurait il par hasard une façon plus simple pour parcourir une marge des textbox par exemple en les spécifiant par leur noms ou autre chose .. etc
" sinon de mon coté j ai essayé avec un code qui créé des textbox tout en leur ajoutant un compteur a leur propriété Name mais lorsque je veux les parcourir j en sais pas trop comment faire"
merci d'avance les pro de prendre le Temp de comprendre mon problème
voila je c que c dit plusieurs fois mais dans mon cas sous vb.net 2010 express je veux créer plusieurs textbox dynamiquement qui seront liées par plusieurs formule de calcul.
y'aurait il par hasard une façon plus simple pour parcourir une marge des textbox par exemple en les spécifiant par leur noms ou autre chose .. etc
" sinon de mon coté j ai essayé avec un code qui créé des textbox tout en leur ajoutant un compteur a leur propriété Name mais lorsque je veux les parcourir j en sais pas trop comment faire"
merci d'avance les pro de prendre le Temp de comprendre mon problème
A voir également:
- Ajouter dynamiquement un groupe de textbox pour des calcul
- Comment créer un groupe whatsapp - Guide
- Calcul moyenne excel - Guide
- Sous groupe whatsapp - Accueil - WhatsApp
- Créer un groupe facebook - Guide
- Calcul km marche à pied gratuit - Télécharger - Sport
4 réponses
Bonjour,
Mettre un panel et 2 buttons avec ce code:
Mettre un panel et 2 buttons avec ce code:
Option Strict On Public Class Form1 Dim Txt As TextBox Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim Top, Left, Width, Height As Integer Dim NumeroTextBox As Integer Top = 10 Left = 10 Width = 100 Height = 20 NumeroTextBox = 1 For i = 0 To 4 - 1 Txt = New TextBox() With Txt .Visible = True .Top = Top 'Definit la distance entre le bord de la fenetre et le bord du conteneur .Left = Left 'Definit la distance entre le bord gauche de la fenetre et le bord du conteneur .Width = Width 'Definit la largeur de l'objet .Height = Height 'Definit la hauteur de l'objet End With Panel1.Controls.Add(Txt) Top = Top + 30 NumeroTextBox = NumeroTextBox + 1 Next End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click Dim ctrl As Control For Each ctrl In Panel1.Controls If (ctrl.GetType() Is GetType(TextBox)) Then Dim txt As TextBox = CType(ctrl, TextBox) MsgBox(txt.TabIndex) End If Next End Sub Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load Button1.Text = "Creer" Button2.Text = "Index" End Sub End Class
Bonsoir,
Tabindex n'est pas un index pour retrouver un contrôle.
C'est ce qui détermine l'ordre de déplacement du focus avec la touche Tabulation.
Si tu veux pouvoir récuperer tes objets, au moment ou tu les gères mets les dans une liste.
Tu peux aussi mettre un index ou un identificateur dans la propriété Tag.
--
Tabindex n'est pas un index pour retrouver un contrôle.
C'est ce qui détermine l'ordre de déplacement du focus avec la touche Tabulation.
Si tu veux pouvoir récuperer tes objets, au moment ou tu les gères mets les dans une liste.
Tu peux aussi mettre un index ou un identificateur dans la propriété Tag.
--
bonsoir,
j ai essayé avec la tabindex le code et ça a marché:
est ce que j aurai des problèmes si je l'utilise de cette manière ou CA sera plu pratique de travailler avec le TAG.
en vb 6 c'était possible d'avoir un group de control sous le même nom avec les index différent par contre en vb.net 10 express c plus possible !!!
merci
j ai essayé avec la tabindex le code et ça a marché:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Integer = 0
Dim b As Integer = 0
For i = 0 To 10 - 1
a = a + 1
Dim TXT As TextBox = New TextBox
Panel1.Controls.Add(TXT)
With TXT.Name = "gbox"
TXT.Top = b
TabIndex = a
End With
b = b + 30
Next
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For Each ctrl As TextBox In Panel1.Controls
If ctrl.TabIndex > 4 Then ctrl.Text = "45"
Next
End Sub
End Class
est ce que j aurai des problèmes si je l'utilise de cette manière ou CA sera plu pratique de travailler avec le TAG.
en vb 6 c'était possible d'avoir un group de control sous le même nom avec les index différent par contre en vb.net 10 express c plus possible !!!
merci
Tabindex ne sert pas à ça. Tu risques d'avoir un comportement bizarre de la touche Tabulation.
Oui Tag est plus adapté.
Si tu peux avoir un groupe, je te l'ai mis plus haut c'est une liste.
https://docs.microsoft.com/fr-fr/dotnet/api/system.collections.generic.list-1?redirectedfrom=MSDN&view=netframework-4.8#code-snippet-1
--
Oui Tag est plus adapté.
Si tu peux avoir un groupe, je te l'ai mis plus haut c'est une liste.
https://docs.microsoft.com/fr-fr/dotnet/api/system.collections.generic.list-1?redirectedfrom=MSDN&view=netframework-4.8#code-snippet-1
--
bonjour , cs_Le Pivert
d'abord merci pour la rapidité de votre reponse.
pour le code qui genere les textbox avec les proprieté left top etc... je l ai deja dans mon code par contre je croi que la solution a mon problem c la partie ou ta utilisé la "tabindex" si possible quelque explication sur comment on peut utilisé la "tabindex" ou l index du controle en general pour traiter une collection des Tbox et merci encore !!
d'abord merci pour la rapidité de votre reponse.
pour le code qui genere les textbox avec les proprieté left top etc... je l ai deja dans mon code par contre je croi que la solution a mon problem c la partie ou ta utilisé la "tabindex" si possible quelque explication sur comment on peut utilisé la "tabindex" ou l index du controle en general pour traiter une collection des Tbox et merci encore !!