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

Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 20 nov. 2015 à 01:39 - Dernière réponse : Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention
- 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.


--
Afficher la suite 

Votre réponse

32 réponses

Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 20 nov. 2015 à 06:38
0
Merci
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.
Commenter la réponse de Whismeril
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - Modifié par ucfoutu le 20/11/2015 à 08:27
0
Merci
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.
Commenter la réponse de ucfoutu
Zermelo 378 Messages postés samedi 22 septembre 2012Date d'inscription 13 août 2017 Dernière intervention - 20 nov. 2015 à 09:54
0
Merci
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.
Commenter la réponse de Zermelo
Zermelo 378 Messages postés samedi 22 septembre 2012Date d'inscription 13 août 2017 Dernière intervention - 20 nov. 2015 à 10:29
0
Merci
Re,
Il existe en Vb.net un contrôle GroupBox qui fera peut être votre affaire. Je ne l'ai pas testé.
Cordialement.
vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 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 )
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention > vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 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
Commenter la réponse de Zermelo
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 20 nov. 2015 à 12:00
0
Merci
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
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 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
Commenter la réponse de cs_Le Pivert
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 20 nov. 2015 à 13:14
0
Merci
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 !

Commenter la réponse de ucfoutu
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 20 nov. 2015 à 14:07
0
Merci
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






Commenter la réponse de Orlean2
vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 20 nov. 2015 à 15:53
0
Merci
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
Commenter la réponse de vb95
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 20 nov. 2015 à 20:49
0
Merci
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....
Commenter la réponse de Whismeril
CGSI3 417 Messages postés vendredi 22 février 2008Date d'inscription 7 janvier 2018 Dernière intervention - Modifié par CGSI3 le 20/11/2015 à 23:26
0
Merci
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

--
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 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.
Commenter la réponse de CGSI3
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 21 nov. 2015 à 11:41
0
Merci
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

--
vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 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é)
Commenter la réponse de Orlean2
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 21 nov. 2015 à 13:58
0
Merci
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
Commenter la réponse de Whismeril
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 22 nov. 2015 à 15:04
0
Merci
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


--
Commenter la réponse de Orlean2
Zermelo 378 Messages postés samedi 22 septembre 2012Date d'inscription 13 août 2017 Dernière intervention - 22 nov. 2015 à 17:17
0
Merci
Bonjour Orlean2.
Vous pouvez aussi utiliser votre explorateur d'objet. Ce n'est évidemment pas encore le moment
Bon courage.
Commenter la réponse de Zermelo
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 28 nov. 2015 à 03:05
0
Merci
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


--
Commenter la réponse de Orlean2
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 30 nov. 2015 à 23:43
0
Merci
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.


--
Commenter la réponse de Orlean2
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 1 déc. 2015 à 06:49
0
Merci
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.
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 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
Commenter la réponse de Whismeril
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 1 déc. 2015 à 13:07
0
Merci
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

--
Commenter la réponse de Orlean2
cs_Le Pivert 5211 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 1 déc. 2015 à 14:19
0
Merci
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

Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 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.
vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention > Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention - 1 déc. 2015 à 17:35
On en revient à ce que je disais plus haut au sujet de la "traduction" VB6 vers VB Net!
Whismeril 11785 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 17 juillet 2018 Dernière intervention > vb95 1602 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 13 juillet 2018 Dernière intervention - 1 déc. 2015 à 19:27
et vi
Commenter la réponse de cs_Le Pivert
Orlean2 50 Messages postés samedi 28 février 2004Date d'inscription 1 décembre 2015 Dernière intervention - 1 déc. 2015 à 15:50
0
Merci
merci cs_Le Pivert
super je vais pouvoir continuer mes projets
encore merci.
Mes excuses pour mon message recèdent


--
Commenter la réponse de Orlean2

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.

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