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
L'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIESL'INTERFACE NATURELLE DE WINDOWS PHONE 7 SERIES par odewit
La tendance est aux interfaces naturelles (NUI), et le keynote de Bill Buxton au MIX l'a bien souligné.
La charte graphique et ergonomique de Windows Phone 7 a donc été entièrement repensée en vue d'obtenir un maximum d'efficacité sur ce point. En re...
Cliquez pour lire la suite de l'article par odewit COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|