Accueil > Forum > > > > Controle utilisateur
Controle utilisateur
mardi 21 octobre 2008 à 00:03:05 |
Controle utilisateur

alligo
|
Bonjour a tous j'ai créé un controle utilisateur (controle 1) (herité d'un bouton dont j'ai changé la forme). comme j'ai besoin d'enormement de ces controles, j'ai fait un autre controle utilisateur (controle 2) qui les regroupe tous. dans le controle 2 je genere dynamiquement dans un tableau mes controles 1. Je crée donc une form qui contient le controle 2. les controles 1 s'affichent corretement, et les evenements des controles 1 sont bien pris en charge quand je clique sur un des controles 1 je declenche l'evenement surchargé de controle 1 mais le probleme est que dans la form qui utilise le controle 2 (et donc les controles 1) je voudrais recuperer l'index de mon tableau de controle pour savoir sur quel controle 1 j'ai cliqué et je ne vois pas du tout comment faire un peu d'aide ? Merci
|
|
mardi 21 octobre 2008 à 00:22:41 |
Re : Controle utilisateur

gillardg
|
Bonjour,
dans ton contrôle 2 tu as accès a cet index ?? alors il te suffit de créer une propriété avec cet index
a+
|
|
mardi 21 octobre 2008 à 01:09:04 |
Re : Controle utilisateur

PCPT
|
salut, en effet c'est à controle2 de remonter l'évènement vers son conteneur, avec l'index de ta collection en argument/paramètre
++ Prenez un instant pour répondre à ce sondage svp 
|
|
mardi 21 octobre 2008 à 10:44:19 |
Re : Controle utilisateur

alligo
|
Oui d'accord, c'est un peu ce que j'avais deja fait mais ...
voici la portion de code pour la declaration du tableau :
[code] For i = 0 To 10 myarray(i) = New Controls_Test.RoundButton(i) myarray(i).Visible = True Me.coord0 += Me.shiftl myarray(i).Location = Me.coord0 Me.Controls.Add(myarray(i)) Next [/code]
Je n'arrive pas a comprendre quel evenement est levé quand je clique sur des controles de mon tableau.
un truc du style myarray(i)_click ... mais je ne peux pas utiliser de i dans la declaration de variable.
une deuxieme solution serait de regarder quelle proprieté a changé dans mon tableau en les regardant les controles un par un ... mais je trouve ca moyen et le refresh ne fonctionne pas ex =
[code] For i = 0 To 10 If myarray(i).isHighlighted = True Then lala = myarray(i).Numero 'lala est une propriete de ma classe Exit For End If Next [/code]
et encore je ne sais pas sur quel evenement de controle2 mettre cette portion de code car ne fonctionne pas sur click
|
|
mardi 21 octobre 2008 à 12:57:47 |
Re : Controle utilisateur

PCPT
|
aucun rapport avec ta question de départ donc, ou alors je n'ai pas compris....
c'est "sender" qui doit te renvoyé les informations du bouton cliqué
voir les sources existantes pour savoir comment gérer les évènements sur des contrôles dynamiques seulement une fois chose faite, tu pourras t'occuper du parent (controle2)
++ Prenez un instant pour répondre à ce sondage svp 
|
|
mardi 21 octobre 2008 à 14:06:54 |
Re : Controle utilisateur

alligo
|
Réponse acceptée !
Voila j'ai trouvé
je trouve ca un peu tiré par les cheveux mais ca marche ...
dans controle2 j'utilise la methode load pour charger mes controles1 et j'abonne mon controle2 a chaque evenement click de controle1 ...
dans la methode abonnée de controle2 je ets a jour une propriete de on controle2 avec l'index de controle1 a l'aide du sender et je lance un evenement ici onclick() mais ca pourrait etre n'importe lequel qui est surchargé et se charge de rendre dispo a la form mon index
code de control2 :
Private Sub GroupedControl_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim i As Integer For i = 0 To 10 myarray(i) = New Controls_Test.RoundButton(i) myarray(i).Visible = True Me.coord0 += Me.shiftl myarray(i).Location = Me.coord0 myarray(i).Numero = i Me.Controls.Add(myarray(i)) AddHandler myarray(i).Click, AddressOf myarray_click Next Me.Refresh() End Sub
Private Sub myarray_click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.lala = sender.numero Me.OnClick(e)
End Sub
pfiou c'etait pas simple ca je trouve ...
merci pour l'aide et merci d'avance pour les correrctions a faire si il y en a ...
|
|
mardi 21 octobre 2008 à 14:46:28 |
Re : Controle utilisateur

gillardg
|
Bonjour,
normalement tes control1 ont bien un evenement click?? si oui il suffit de tous les gerer dans une sub sub MesControls1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)handles ctrr1.click ; ctr2.click ' et ainsi de suite MyCtrIndex=sender.numero
End Sub
je ne sais pas si mon explication est claire pour toi mais voici un exemple avec des boutons Public indexCtrl1 As UInt16 Private Sub Button1_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, Button3.Click Dim sa As Integer = sender.name.ToString.LengthindexCtrl1 = CStr (sender.Name).Substring(sa - 1)MsgBox(indexCtrl1) End Sub a+
|
|
mardi 21 octobre 2008 à 15:54:48 |
Re : Controle utilisateur

alligo
|
Ta solution est interessante mais ... je peux avoir jusqu'a 400 controles ... dans ce cas je perds tout avantage de la prog si je dois taper a la main le nom de mes 400 controles?
ou n'ai pas compris qqch ?
|
|
mardi 21 octobre 2008 à 16:13:40 |
Re : Controle utilisateur

PCPT
|
gillardg -> je ne comprends pas non plus l'intérêt de ta réponse, il est sujet de contrôles chargés dynamiquement
j'ai peut-être mal compris ta réponse?
|
|
mardi 21 octobre 2008 à 17:01:11 |
Re : Controle utilisateur

gillardg
|
Bonjour,
si chargé dynamitement alors je suis à coté de mes pompes , sorry
a+
|
|
Cette discussion est classée dans : controles, form, tableau, controle, utilisateur
Répondre à ce message
Sujets en rapport avec ce message
URGENT MERCI : Changer le parent d'un controle [ par marc ]
Je souhaite faire une form principale avec une arborescence d'un coté et des controles de l'autre. Chaque fois que je clique sur un noeud, je veux aff
controles multiples [ par mastercatz ]
J'aimerais savoir comment faire pour créer plusieurs occurences d'un controle utilisateur, sachant que le nombre de controles à afficher est determiné
VB.NET Controle utilisateur Type Form [ par COlive ]
Bonjour,je cherche le moyen de créer un controle utilisateur qui n'a pas d'interface à la création (Comme le timer pas exemple) mais qui possede une m
Limite de controle sur une form !!! heeeelp [ par Yaume1 ]
Bonjour tout le monde, j'ai encore un problème (mais un costaud là) !!! lol j'ai atteint la limite des 100 contrôles (à priori) que l'on peut mettre s
controle utilisateur [ par bousfiha ]
bonjour et merci de lire ma question. mon problème est le suivant: j'ajouté à mon projet des controles d'utilisateur ("mui windows" si jamais vous les
Controles dynamiques dans un controle/form avec gestion des scrollbars : suis paumé [ par yohan_titi ]
Bonjour à tous,Je génère dynamiquement des controles (disons commanbutton). Pour ça no pb, j'arrive également à les aligner 10 par 10 verticalement.Là
controle de multiple textbox !? [ par jimmy69 ]
Bonjour,J'utilises vb net avec visual studio 2003 et je fais du win form depuis peu !Sur ma form principale j'ai plusisuers textbox qui sont controles
controle utilisateur.....probleme [ par ecranbleu27 ]
bjrje me sers d'un usercontrol comme barre de naviguation sur mes form,son nom : navig11 , il regroupe un ensemble de boutons de controles pour navig
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|