Groupes de contrôles indexés sous VB.Net

Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015 - Modifié par ucfoutu le 20/11/2015 à 15:08
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 - 1 déc. 2015 à 19:27
bonjour
Merci d'avance pour une réponse éventuel
Je développais sur VB6 et je viens de passer sur Visual studio 2015 en Visual basic
J'ai un mal fou je ne retrouve pas mes repaires, je suis sur qu'avec de la persistance je m'en sortirais
Tout a changé
Bon je pose ma question :
Sur VB6 pour lier des boutons on en plaçait un, on le copiait et quand on le collait in posait la question si on voulait une collection de boutons « simple » mais la sa ne marche pas
Quelqu'un a une idée, je suis bloquer sur cela
Merci si il y a une âme charitable
Et encor merci
Amélie G.


--
A voir également:

22 réponses

Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
20 nov. 2015 à 09:54
Bonjour Orlean2.
Vb6 était un beau jouet, Vb.net est une religion.
Le vieux bonhomme que je suis (75 ans) l'a bien éprouvé en 2012, lorsque, pour repousser Alzheimer, je suis passé de Vb6 à Vb.net. J'ai été servi. Mais je m'en suis sorti en lisant le cours de Philippe Plasserre, disponible sur internet.
Je vous donne ma bénidiction.
1
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
20 nov. 2015 à 06:38
Bonjour,

pense à mettre un titre plus explicite la prochaine fois.

Tout d'abord, lit ceci
http://codes-sources.commentcamarche.net/faq/11151-pourquoi-mon-code-vb6-vba-ne-marche-pas-en-vb-net

Ensuite, je ne suis pas sûr de ce que tu entends par
lier des boutons
donc peux tu expliquer ce que tu veux faire plus précisément.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 20/11/2015 à 08:27
Bonjour,
De quoi parles-tu ?
Serait-ce de la possibilité, sous VB.Net, de créer, comme sous VB6, des groupes de contrôles indexés ?

EDIT :
je ne retrouve pas mes repaires

Je ne les ai pas repérés non plus
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
20 nov. 2015 à 10:29
Re,
Il existe en Vb.net un contrôle GroupBox qui fera peut être votre affaire. Je ne l'ai pas testé.
Cordialement.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
20 nov. 2015 à 11:21
Bonjour Zermelo
Le contrôle Groupbox sert à regrouper dans un seul contrôle plusieurs contrôles identiques ou différents mais ne sert nullement à la création de groupes de contrôles indexés comme en VB 6
Pour créer des groupes de contrôles indexés en VB net c'est assez ardu ! Il faut créer les contrôles par code dans une boucle For Next et leur adjoindre un AddHandler ( c'est un sous-programme qui réagira à une action sur un des contrôles indexés )
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
20 nov. 2015 à 12:45
Bonjour, VB95, ça dépend de ce qu'elle veut faire exactement.
Donc autant attendre qu'elle précise son besoin
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
20 nov. 2015 à 12:00
Bonjour à tous,

voici un exemple avec des TextBox, il suffit de l'adapter pour des buttons:

http://vb.net-informations.com/gui/dynamic-controls-vb.htm
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
20 nov. 2015 à 12:05
Pour

adjoindre un AddHandler ( c'est un sous-programme qui réagira à une action sur un des contrôles indexés )

dont a parlé vb95, voir ceci:

http://codes-sources.commentcamarche.net/forum/affich-10054251-picturebox-index-en-vb-net#5
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
20 nov. 2015 à 13:14
Bonjour,
Sans plus de précisions sur les tenants et aboutissants exacts, il n'est pas possible de répondre avec sérieux.
Les groupes indexés, sous VB6, peuvent être utilisés de diverses manières et leur "transposition" sous VB.Net (voire VBA) dépendra FORCEMENT de la manière dont ils sont utilisés, avec des variantes également FORCEMENT différentes.
Je recommande donc (avec la même FORCE) d'attendre de savoir comment ces indexes sont utilisés !

0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
20 nov. 2015 à 14:07
Ho merci à tous pour toutes ses réponses je ne me sens plus seul
Sa ma toucher vos réponses rapide « Merci Zermelo la bénédiction j'en ai besoin »
A oui Whismeril je me suis tromper pour le titre excusé moi.

S'est tout simple : sous VB6 il y avait un copier coller des commandes qui créait automatiquement un index (Tout simple pas de prise de tètes).

J'ai gardé la vielle machine de mon père en xp avec son VB6 pour faire des copy écran

Ma machine à moi est sous Windows 10 avec Visual studio 2015
Si joint les copy d'écran






0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
20 nov. 2015 à 15:53
Rebonjour Orlean2
Vas faire un tour là pour avoir réponse à ton problème

http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms3#LVIII-J-6
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
20 nov. 2015 à 20:49
Bonsoir, je réitère
selon ce que tu veux faire de tes contrôles "indexés" la réponse est différente, la partie de l'article (qui t'a été conseillé 3 fois sur ce fil) en traite 2 (les plus courrants): l'événement commun et tout le monde a la même couleur.
Cependant si tu veux faire autre chose, essaye non pas de dire ce que tu faisais, mais ce que tu voudrais faire....
0
CGSI3 Messages postés 416 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 7 janvier 2018 1
Modifié par CGSI3 le 20/11/2015 à 23:26
Bonjour a tous,

Si je me fie a ton explication Orlean2,
moi, je créerai une class hérité du control Button,
je regenererai ma solution pour que le nouveau control "Superbutton" soit accessible sur la Boite a Outils,
Puis j'ajouterai mes "SuperButton" a ma form.

L' incrémentation de la valeur index n est pas très élaboré, elle se limite a 9 (en ne modifiant pas la propriétée name des controls).
Cependant si cela est une solution qui te parait intéressante, tu peut l'améliorer.


Public Class SuperButton
Inherits Button
Private _Index As Integer

Public Property Index As Integer
Get
Dim g As String = Me.Name
_Index = CInt(Val(g(g.Count - 1)))
Return _Index
End Get
Set(value As Integer)
_Index = value
End Set
End Property


End Class


Bonne Prog CGSI3

--
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
21 nov. 2015 à 09:02
Bonjour,

ta proposition ne réponds pas vraiment non plus à l'indexation VB6.

Si je me souviens bien, pour changer le Caption d'un contrôle, on faisait
monControle(1).Caption = "Coucou"
.
Or l'index que tu ajoutes ne permets pas cela, il faudrait faire une recherche dans la collection de contrôles, (qui existe pas défaut dans .Net et c'est bien pour ça que depuis le début je demande ce qu'elle veut faire de l'indexation) sur le button qui a comme numéro 1....
D'ailleurs, à ce compte là, il suffit d'utiliser la propriété Tag, que possède tous les contrôles.
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
21 nov. 2015 à 11:41
Bonjour je vous remercie vraiment
Bon je vais essayer dans dire plus et d'être le plus claire possible
Je suis nouvelle dans la programmation je reprends la suite de mon père qui avait réalisé se projet baser sur l'assurance international fait en VB depuis les premières versions.
Se system pouvait modifier sa lange a volontés par l'utilisateur n'importe quel langue sauf écrit de droite a gauche, chaque fenêtres qui apparait peut se bouger et les boutons suivent les cadres comme accrocher en bas a droite, au centre, ou a gauche modulable a volonté
Il y a des module BAS appeler depuis le projet principal avec transport de la lange par des variables, une dizaine, je commence par la et sa coince de déjà partout
J'ai décortiqué juste un morceau que j'ai fait fonctionner en placent le premier VB.NET sur cette machine il ma converti ce si, je voulais juste savoir s'il y avait une façon plus simple comme VB6 pour indexé, je ne savais pas qu'il fallait tout déclarer
Si joint ma petit source si j'arrive à vous la placer.
Je vous remercie vraiment et je n'hésiterais pas de vous solliciter par le future si vous me l'accorder.



Option Strict Off
Option Explicit On
Friend Class Form1
Inherits System.Windows.Forms.Form
#Region "Code généré par le Concepteur Windows Form "
Public Sub New()
MyBase.New()
If m_vb6FormDefInstance Is Nothing Then
If m_InitializingDefInstance Then
m_vb6FormDefInstance = Me
Else
Try
If System.Reflection.Assembly.GetExecutingAssembly.EntryPoint.DeclaringType Is Me.GetType Then
m_vb6FormDefInstance = Me
End If
Catch
End Try
End If
End If
InitializeComponent()
End Sub
Protected Overloads Overrides Sub Dispose(ByVal Disposing As Boolean)
If Disposing Then
If Not components Is Nothing Then
components.Dispose()
End If
End If
MyBase.Dispose(Disposing)
End Sub
Private components As System.ComponentModel.IContainer
Public ToolTip1 As System.Windows.Forms.ToolTip
Public WithEvents _Boutons_2 As System.Windows.Forms.Button
Public WithEvents _Boutons_1 As System.Windows.Forms.Button
Public WithEvents _Boutons_0 As System.Windows.Forms.Button
Public WithEvents Boutons As Microsoft.VisualBasic.Compatibility.VB6.ButtonArray
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components)
Me._Boutons_2 = New System.Windows.Forms.Button()
Me._Boutons_1 = New System.Windows.Forms.Button()
Me._Boutons_0 = New System.Windows.Forms.Button()
Me.Boutons = New Microsoft.VisualBasic.Compatibility.VB6.ButtonArray(Me.components)
CType(Me.Boutons, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'_Boutons_2
'
Me._Boutons_2.BackColor = System.Drawing.SystemColors.Control
Me._Boutons_2.Cursor = System.Windows.Forms.Cursors.Default
Me._Boutons_2.ForeColor = System.Drawing.SystemColors.ControlText
Me.Boutons.SetIndex(Me._Boutons_2, CType(2, Short))
Me._Boutons_2.Location = New System.Drawing.Point(120, 352)
Me._Boutons_2.Name = "_Boutons_2"
Me._Boutons_2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me._Boutons_2.Size = New System.Drawing.Size(72, 32)
Me._Boutons_2.TabIndex = 2
Me._Boutons_2.Text = "Ok"
'
'_Boutons_1
'
Me._Boutons_1.BackColor = System.Drawing.SystemColors.Control
Me._Boutons_1.Cursor = System.Windows.Forms.Cursors.Default
Me._Boutons_1.ForeColor = System.Drawing.SystemColors.ControlText
Me.Boutons.SetIndex(Me._Boutons_1, CType(1, Short))
Me._Boutons_1.Location = New System.Drawing.Point(200, 352)
Me._Boutons_1.Name = "_Boutons_1"
Me._Boutons_1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me._Boutons_1.Size = New System.Drawing.Size(72, 32)
Me._Boutons_1.TabIndex = 1
Me._Boutons_1.Text = "Annuler"
'
'_Boutons_0
'
Me._Boutons_0.BackColor = System.Drawing.SystemColors.Control
Me._Boutons_0.Cursor = System.Windows.Forms.Cursors.Default
Me._Boutons_0.ForeColor = System.Drawing.SystemColors.ControlText
Me.Boutons.SetIndex(Me._Boutons_0, CType(0, Short))
Me._Boutons_0.Location = New System.Drawing.Point(280, 352)
Me._Boutons_0.Name = "_Boutons_0"
Me._Boutons_0.RightToLeft = System.Windows.Forms.RightToLeft.No
Me._Boutons_0.Size = New System.Drawing.Size(72, 32)
Me._Boutons_0.TabIndex = 0
Me._Boutons_0.Text = "Appliquer"
'
'Boutons
'
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.ClientSize = New System.Drawing.Size(361, 391)
Me.Controls.AddRange(New System.Windows.Forms.Control() {Me._Boutons_2, Me._Boutons_1, Me._Boutons_0})
Me.Location = New System.Drawing.Point(326, 161)
Me.Name = "Form1"
Me.StartPosition = System.Windows.Forms.FormStartPosition.Manual
Me.Text = "Form1"
CType(Me.Boutons, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub
#End Region
#Region "Prise en charge de la mise à niveau "
Private Shared m_vb6FormDefInstance As Form1
Private Shared m_InitializingDefInstance As Boolean
Public Shared Property DefInstance() As Form1
Get
If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
m_InitializingDefInstance = True
m_vb6FormDefInstance = New Form1()
m_InitializingDefInstance = False
End If
DefInstance = m_vb6FormDefInstance
End Get
Set
m_vb6FormDefInstance = Value
End Set
End Property
#End Region
Private Sub Boutons_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Boutons.Click
Select Case Boutons.GetIndex(eventSender)
Case 1
End
End Select

End Sub

Private Sub Form1_Resize(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Resize
AligneBouton(1)
End Sub

Private Sub AligneBouton(Optional ByRef Bouttdefaut As Object = 0)
Dim Htbuton As Object
Dim i As Object
Dim DPL As Object
Dim HeighDefault As Object
Dim WidthDefault As Object
Dim SpaceDefault As Object
If WindowState <> 1 Then
SpaceDefault = 120
WidthDefault = 1080
HeighDefault = 310

'ici teste si le bouton demander par defaut existe
If Bouttdefaut > Boutons.Count - 1 Then Bouttdefaut = Boutons.Count - 1

If VB6.PixelsToTwipsX(ClientRectangle.Width) < (WidthDefault * Boutons.Count) + (SpaceDefault * (Boutons.Count + 1)) Then
WidthDefault = (VB6.PixelsToTwipsX(ClientRectangle.Width) - (SpaceDefault * (Boutons.Count + 1))) / Boutons.Count
End If


'debloquer la situation voulu par les "'"
'Alignier a Gauche
'DPL = 0

'Alignier au centre
'DPL = (VB6.PixelsToTwipsX(ClientRectangle.Width) - ((WidthDefault * Boutons.Count) + (SpaceDefault * (Boutons.Count + 1)))) / 2

'Alignier a Droite
DPL = VB6.PixelsToTwipsX(ClientRectangle.Width) - ((WidthDefault * Boutons.Count) + (SpaceDefault * (Boutons.Count + 1)))



For i = Boutons.Count - 1 To 0 Step -1
Boutons(i).SetBounds(VB6.TwipsToPixelsX(DPL + SpaceDefault), VB6.TwipsToPixelsY((VB6.PixelsToTwipsY(ClientRectangle.Height) - 450) + Htbuton), VB6.TwipsToPixelsX(WidthDefault), VB6.TwipsToPixelsY(HeighDefault))
DPL = DPL + SpaceDefault + VB6.PixelsToTwipsX(Boutons(i).Width)
Next i
Boutons(Bouttdefaut).TabIndex = 0
End If
End Sub


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class

--
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
21 nov. 2015 à 12:30
Salut Orlean2
Ton plus gros problème n'est pas de traduire du VB6 en VB net (cela ne se fait pas bien que je l'ai fait au début ) mais de faire en sorte qu'une source VB net fasse la même chose que sa source équivalente en VB 6
Il faut dire que la philosophie VB net est bien différente de celle de VB 6 bien que souvent les mêmes mots-clés s'y retrouvent dans les deux ! J'en ai fait la dure constatation lors de passage de sources
J'en ai fait l'amère expérience lors de passage de sources d'un langage à l'autre !
Le cours de Plassere cité plus haut est une mine d'or côté VB net ( bien qu'il commence à dater mais ses bases sont solides et toujours d'actualité)
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
21 nov. 2015 à 13:58
Alors comme VB95 te l'a dit "traduire" un code VB6 en VB.Net n'est pas une bonne pratique, car se sont 2 langages différents et si tu avais lu l'article que je t'ai proposé dans mon premier message tu le saurais maintenant.

De plus, une quelconque indexation ne sera pas la solution la plus efficace pour avoir une application multilingue. Et ça ne l'était déjà pas en VB6.

Enfin, si tu débutes, avant de te lancer dans une entreprise ardue, il est bon et nécessaire de commencer par les bases.

Les bases, elles sont dans le cours de PLassere, une fois que tu l'auras lu, et acquis (c a d bien compris), alors on pourra discuter de réalisation réaliste et enfin t'aider efficacement
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
22 nov. 2015 à 15:04
Bonjour a tous
Je vais suivre votre conseil a tous, je vais commencer par lire les documents dons vous me conseiller
Je vous remercie pour l'attention que vous me porter, je vous tiendrais au courent de mes progression à venir, je n'ai que le net et vous pour me venir en aide.
Merci


--
0
Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
22 nov. 2015 à 17:17
Bonjour Orlean2.
Vous pouvez aussi utiliser votre explorateur d'objet. Ce n'est évidemment pas encore le moment
Bon courage.
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
28 nov. 2015 à 03:05
Bonsoir a tous

Hourra j’aie trouver
une semaine de galère
il est 3 heur du matin j'aie enfin trouver
je vous poste lundi soir mes explication et ma source
je pense que sa peut servir

je vous remercie infiniment de vote aide

Amélie


--
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
30 nov. 2015 à 23:43
Bonsoir a tous
Le vous explique se que j’aie fait pour placer des boutons index et du même moment la création des boutons index Dynamics

Lancer Visual studio 2015
Nouveau projet … Visual Basic , Windows, Application Windows Forms
Dans la Boîte à outils
Clic droit, choisir les éléments …
Dans L’onglet « composants .NET Framework »
Cliquez la case a cocher « ButtonArray » « Microsoft.visualBasic.compatibiliy.VB6 »
Puis OK
Vous remarquerez que dans la Boîte à outils il y a en plus en bas de la liste ButtonArray
Faite glisser le ButtonArray comme un boutton ou autre dans votre form1
En dessous de votre page séparer par un trait noir il y a un ICON ButtonArray faite clic droite propriétés
Vous avez « Name, GenerateMenbrer, et Modifier, vous pouvez changer le non
Mais pas tout de suite après que vous ayez compris le tout
Ajouter un bouton dans votre form1, renommer le dans propriété text « Bouton(0) » et la propriété (Name) Bouton_0 ( le tiret du 8 et zéro )

Puis dans « InitializeComponent » dans le Private Sub InitializeComponent() ajouter la ligne suivante tout de suite après 'Button_0

Me.ButtonArray1.SetIndex(Me.Button_0, CType(0, Short))

Vous deviez avoir se ci

'REMARQUE : la procédure suivante est requise par le Concepteur Windows Form
'Elle peut être modifiée à l'aide du Concepteur Windows Form.
'Ne la modifiez pas à l'aide de l'éditeur de code.
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Me.ButtonArray1 = New Microsoft.VisualBasic.Compatibility.VB6.ButtonArray(Me.components)
Me.Button_0 = New System.Windows.Forms.Button()
CType(Me.ButtonArray1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Button_0
'
Me.ButtonArray1.SetIndex(Me.Button_0, CType(0, Short))
Me.Button_0.Location = New System.Drawing.Point(107, 193)
Me.Button_0.Name = "Button_0"
Me.Button_0.Size = New System.Drawing.Size(75, 23)
Me.Button_0.TabIndex = 0
Me.Button_0.Text = "Button1"
Me.Button_0.UseVisualStyleBackColor = True
'
'Form1
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(284, 262)
Me.Controls.Add(Me.Button_0)
Me.Name = "Form1"
Me.Text = "Form1"
CType(Me.ButtonArray1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)

End Sub

Friend WithEvents ButtonArray1 As Compatibility.VB6.ButtonArray
Friend WithEvents Button_0 As Button
End Class


Répétez le placement de bouton au temps de fois que vous le désirer bien sur en numérotent les boutons suivant « Button_0, Button_1, Button_2, Button_3 ex…..

Et ne pas oublier d’ajouter les lignes a chaque session de boutons en les numérotent

'Button_1
Me.ButtonArray1.SetIndex(Me.Button_1, CType(1, Short))

'Button_2
Me.ButtonArray1.SetIndex(Me.Button_2, CType(2, Short))

etcétéra............

Pour ajouter dynamiquement les bouttons
Exemples pose de trois boutons

Dim I As Short
For I = 1 To 3
ButtonArray1.Load(I)
ButtonArray1 (I).Visible = True
‘ne pas oublier de le disposer par
'ButtonArray1 (I).SetBounds( et les dispositions)
Next I

Pour l’interruption de l’événement pour tous les boutons avec un choix

Exemple : avec 4 boutons de 0 à 3 bien sur
Private Sub Button_0_Click(sender As Object, e As EventArgs) Handles ButtonArray1.Click
Select Case ButtonArray1.GetIndex(sender)
Case 0
Case 1
Case 2
Case ButtonArray1.Count - 1
Me.Close()

End Select

End Sub

Ou sur chaque bouton individuel
Exemple :
Private Sub Button_0_Click_1(sender As Object, e As EventArgs) Handles Button_0.Click

End Sub
Private Sub Button_0_Click_1(sender As Object, e As EventArgs) Handles Button_1.Click

End Sub

excusez mois si je suis pas claire mais sa peut vous indiquez

je poste une source pour vous rendre compte

Merci pour m’avoir lu
Amélie G.


--
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
1 déc. 2015 à 06:49
Bonjour,

mais là tu importes des outils VB6, ça ne sert à rien.
Donc poster une source n'est pas utile car contre pédagogique.

Si tu veux faire du VB6, pourquoi utiliser VB.Net?

C'est pourquoi depuis le début je te demande ton Besoin et non pas la solution que tu crois la bonne.

Selon ton message, à priori, ton besoin est l'ajout dynamique de contrôles (boutons ou autres....). Et de garder une collection des contrôles ajoutés. Et bien pas besoin de VB6 là dedans.

Je n'ai pas le temps de te mettre un exemple ce matin, mais je le ferais d'ici à ce soir.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 déc. 2015 à 07:52
Bonjour Whismeril,

Je lui ais montré des exemples déjà:

http://codes-sources.commentcamarche.net/forum/affich-10056632-groupes-de-controles-indexes-sous-vb-net#6

@+ Le Pivert
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
1 déc. 2015 à 13:07
Merci pour vos réponses

j’attende avec impatience un exemple de boutons indexer
cela m’éviterait d'ajouter ButtonArray qui est du VB6 ce qui me chagrine mais enfin faute de.

A si tu peut placer aussi l’interruption de l’événement.
et je suis sur qu'il y en a plus d'un qui suivent pour voir car j'ai vue sur le net beaucoup de questions sont poser a ce sujet.

mais je suis contente tout de même car mes recherches m’ont fait progresser en .net pour le future

j'ai bien regarder l'exemple de cs_Le Pivert se n'est pas du indexer
ou alors je me trompe (Excuse cs_Le Pivert si je me trompe)

encore merci et a toute

--
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
1 déc. 2015 à 14:19
Voici un exemple fait avec les liens que je t'ai donné:

Public Class Form1
    Dim cLeft As Integer = 1
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        AddNewButton()
    End Sub
    Public Function AddNewButton() As System.Windows.Forms.Button
        Dim btn As New System.Windows.Forms.Button()
        Me.Controls.Add(btn)
        btn.Top = cLeft * 25
        btn.Left = 100
        btn.Text = "Button " & Me.cLeft.ToString
        btn.TabIndex = CInt(Me.cLeft.ToString - 1)
        cLeft = cLeft + 1
        AddHandler btn.Click, AddressOf Button_DoubleClick
        Return btn
    End Function
    Private Sub Button_DoubleClick(sender As System.Object, e As System.EventArgs)
        ' On récupère le contrôle cliqué ...
        Dim textTmp As Button = DirectCast(sender, Button)
        MsgBox("Index " & textTmp.TabIndex)
        MsgBox("Bouton cliqué " & textTmp.Text)
    End Sub
End Class

0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656
1 déc. 2015 à 17:11
Bonsoir, tout à fait, je n'avais pas relu tout le post ce matin.

@Orlean. Si en plus, tu veux une collection pour, par exemple, tous les rendre invisibles à un moment donné, il suffit de les ajouter dans une List(of Button) au moment de la création.

Le soucis majeur n'était pas de créer dynamiquement des contrôles, d'y associer un événement ou d'en faire une collection, mais de te faire dire que c'est cela que tu voulais....

Le fait que tu (ou to père) utilisait les contrôles indexés en Vb6 ne veut pas dire qu'un équivalent sera une bonne méthode en .Net.

Si tu débutes, pour ne pas te mélanger les crayons, je te conseille de faire ton programme en C#, la philosophie est la même que Vb.net, mais pas possible d'importer des outils qui ont 20 ans dedans....
Une fois affranchie du "moule" VB6, c'est plus facile de se forcer à réfléchir .Net.
0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169 > Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024
1 déc. 2015 à 17:35
On en revient à ce que je disais plus haut au sujet de la "traduction" VB6 vers VB Net!
0
Whismeril Messages postés 19022 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 17 avril 2024 656 > vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024
1 déc. 2015 à 19:27
et vi
0
Orlean2 Messages postés 50 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 1 décembre 2015
1 déc. 2015 à 15:50
merci cs_Le Pivert
super je vais pouvoir continuer mes projets
encore merci.
Mes excuses pour mon message recèdent


--
0
Rejoignez-nous