begin process at 2008 07 04 23:41:18
1 204 994 membres
509 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Acces aux controles [ Archives Visual Basic / J'AI BESOIN D'AIDE !!!! :) ] (renocmoa)

Acces aux controles le 21/12/2005 19:17:43

renocmoa
Membre Club
bonsoir,

comment fait on pour avoir acces à un controle par son nom issue d'une string ex :

for i=1 to 5
   progressbar & cstr(i).value=10
next

merci

reno

Re : Acces aux controles le 21/12/2005 19:40:15

Charles Racaud
Membre Club
Bonjour,

La propriété Controls du contrôle parant
Ca donne (si les progressbar suont sur la form):


For i = 1 To 5
  Me.Controls(progressbar & CStr(i)).Value = 10
Next


Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.

Re : Acces aux controles le 21/12/2005 19:52:25

renocmoa
Membre Club
merci de la réponse mais
il me dit ça....

'ProgressBar' est un type et ne peut pas être utilisé en tant qu'expression.

reno

Re : Acces aux controles le 21/12/2005 20:01:41

DARKSIDIOUS
Membre Club
(Admin CS)

utilise un groupe de contrôle, c'est bien plus simple !!!

Sinon :
For i = 1 To 5
  Me.Controls("progressbar" & CStr(i)).Value = 10
Next

Mais je déconseille !
_____________________________________________________________________
DarK Sidious

Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/

Re : Acces aux controles le 21/12/2005 20:04:35

jack
(Admin CS)
Salut
Essaye cette syntaxe :
Me.Controls("progressbar" & CStr(i)).Value = 10

Sinon, mieux vaut créer un seul control initial ProgressBar et l'indexer (entre 0 et < 254).
Tu pourra simplement lui faire appel avec
Me.ProgressBar(i).Value = 10

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)

Re : Acces aux controles le 21/12/2005 20:05:28

jack
(Admin CS)
Les grands esprits se rencontrent, Dark !

Re : Acces aux controles le 21/12/2005 20:05:33

renocmoa
Membre Club
en fait c'est :

ctype(Me.Controls("progressbar" & CStr(i)),progressbar).Value = 10


merci,

reno

Re : Acces aux controles le 21/12/2005 20:10:32

renocmoa
Membre Club
en fait aucun ne march on doit quand même pouvoir en .net faire refférence à un controle par son nom!!

en vba Me("dd") marche super ...

je vais surement indexé mais je voudrais quand même savoir...

reno

Re : Acces aux controles le 21/12/2005 20:20:12

renocmoa
Membre Club
jack tu pourrais m'en dire plus sur l'indexation

merci

reno

Re : Acces aux controles le 21/12/2005 20:38:12

Charles Racaud
Membre Club
Réponse acceptée !
Ah!!! Fallait présiser dés le début que c'était tu .net.
On s'embrouille tous là.

For i As Integer = 1 To 5
  CType(Me.Controls("ProgressBar" & CStr(i)), System.Windows.Forms.ProgressBar).Value = 10
Next i


Pour un groupe de contrôle, il faut laisser tombre le concepteur windows form et passer en dynamique.
Un petit example, mais bien d'autres sont possible.

Dim ProgressBarList As New System.Collections.Generic.List(Of System.Windows.Forms.ProgressBar)

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

  ProgressBarList.Add(NewProgressBar(New System.Drawing.Point(10, 10), New System.Drawing.Size(100, 23), 100))
  ProgressBarList.Add(NewProgressBar(New System.Drawing.Point(10, 40), New System.Drawing.Size(100, 23), 100))
  ProgressBarList.Add(NewProgressBar(New System.Drawing.Point(10, 70), New System.Drawing.Size(100, 23), 100))

  For Each ProgressBar As System.Windows.Forms.ProgressBar In ProgressBarList
    ProgressBar.Value = 10
  Next

End Sub

Private Function NewProgressBar(ByVal Location As System.Drawing.Point, ByVal Size As System.Drawing.Size, ByVal Maximum As Integer) As System.Windows.Forms.ProgressBar
  Dim ProgressBar As New System.Windows.Forms.ProgressBar
  ProgressBar.Location = Location
  ProgressBar.Size = Size
  ProgressBar.Maximum = Maximum
  Me.Controls.Add(ProgressBar)
  Return ProgressBar
End Function


Kenji

Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.


[Page 1 Page 2]
Classé sous : controles, acces

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS