Accueil > > > RADIOBUTTON EN .NET SUR PLUSIEURS CONTENEURS DIFFÉRENTS
RADIOBUTTON EN .NET SUR PLUSIEURS CONTENEURS DIFFÉRENTS
Information sur la source
Description
Les RadioButtons ont une limitation. Il est possible de les jumelés seulement à l'intérieur d'un même conteneur (form, panel, groupBox, ...). Puisque les programmeur avancer utilise souvent beaucoup les panel pour délimiter leur composant ou en utilisant des patron de conception, je propose donc une solution, assez simple, qui permet de régler ce problème. C'est tout simplement une class qui va géré les évênements des RadioButtons au lieu de laisser .Net les géré de façon automatique. Le code est très puissant, malgré sa simplicité, puisqu'il permet même de géré les radioButton qui se trouve sous 2 forms différentes
Source
- 'Création Waxime
-
- Public Class GroupRadioExtend
- 'Collection qui gère les checkBox
- Private Collection As New System.Collections.ArrayList
-
- 'Ajouter un checkBox
- Public Sub Add(ByVal nouveau As RadioButton)
- AddHandler nouveau.MouseDown, AddressOf modification 'Détecter les modifications
- Collection.Add(nouveau)
- End Sub
-
- 'Enlever un checkBox
- 'La collection gère automatiquement la suppression
- Public Sub remove(ByVal old As RadioButton)
- 'Supression de l'évènement sur le bouton supprimé
- RemoveHandler old.MouseDown, AddressOf modification
-
- 'On l'enlève de la collection
- Collection.Remove(old)
- End Sub
-
- 'On supprime tout les radioButtons
- 'Les évênements sont géré automatiquement
- 'C'est en quelques sorte un bug de .net,
- 'puisque les évênements auraient du être conservé
- Public Sub removeAll()
- Collection.Clear()
- End Sub
-
- 'Une modification a été détecté
- Private Sub modification(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
- 'Création d'un itérateur, voir mon tutorial sur les patrons
- Dim iterator As System.Collections.IEnumerator = Collection.GetEnumerator
- 'On parcour l'itérateur et on décoche tout les RadioButtons
- While iterator.MoveNext
- iterator.Current.checked = False
- End While
- 'Puis on coche le bon RadioButton
- sender.checked = True
- End Sub
- End Class
'Création Waxime
Public Class GroupRadioExtend
'Collection qui gère les checkBox
Private Collection As New System.Collections.ArrayList
'Ajouter un checkBox
Public Sub Add(ByVal nouveau As RadioButton)
AddHandler nouveau.MouseDown, AddressOf modification 'Détecter les modifications
Collection.Add(nouveau)
End Sub
'Enlever un checkBox
'La collection gère automatiquement la suppression
Public Sub remove(ByVal old As RadioButton)
'Supression de l'évènement sur le bouton supprimé
RemoveHandler old.MouseDown, AddressOf modification
'On l'enlève de la collection
Collection.Remove(old)
End Sub
'On supprime tout les radioButtons
'Les évênements sont géré automatiquement
'C'est en quelques sorte un bug de .net,
'puisque les évênements auraient du être conservé
Public Sub removeAll()
Collection.Clear()
End Sub
'Une modification a été détecté
Private Sub modification(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
'Création d'un itérateur, voir mon tutorial sur les patrons
Dim iterator As System.Collections.IEnumerator = Collection.GetEnumerator
'On parcour l'itérateur et on décoche tout les RadioButtons
While iterator.MoveNext
iterator.Current.checked = False
End While
'Puis on coche le bon RadioButton
sender.checked = True
End Sub
End Class
Conclusion
si vous avez des questions, n'hésité pas
chacune des couleur représente un panel, je voulais biens les définir pour bien montrer que chaque radionButton sont bel et bien sur des panneaux distincts
Historique
- 19 janvier 2006 17:27:36 :
- petite correction dans les termes, j'avais écris radion au lieu de radio.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
creer panel dynamiquement VB.NET !!!!!!!!! [ par whiskygt ]
salutJe me prend la tete depuis deux heures à tester tout les codes present sur le site pour creer un objet dynamiquement mais aucun ne fonctionne sou
[VB.NET]Peut-on éviter le clignotement et leralentissement lors d'un resize d'un Panel [ par claudetom ]
Bonjour,vb.netJe resize via un timer (pour un effet ascenseur) un panel qui contient untabcontrol qui lui contient dans ces différents onglets (listvi
[.Net] Panel et point et couleur et glace à l'eau ! [ par cbu ]
Bonjour,je dessine des rond des cercles des lignes sur un panel en VB.Netj'aimerais savoir comment récupérer la courleur d'un point précis de coordonn
[VB.Net] Insertion UserControl dans Panel [ par GaD60 ]
Bonjour à tous,Je me suis mis au vb depuis peu (avec VB.Net), j'ai déjà réussi à faire une fenetre avec un menu et des boites de dialogue dont le résu
coordonnées clic sur image .NET [ par beetsy ]
salut a tousje voudrais obtenir les coordonées X et Y de l'ENDROIT DE L'IMAGE lorsque je clic dessusEn fait j'ai un form de 500x500 avec un panel de 4
Impression avec VB.NET [ par ava0275 ]
Bonjour ,Voici le topo ce que je veux faire:je fais une appli dans laquelle l utilisateur place des textbox dans un panel pendant l execution.Je
RadioButton [ par cerbain1 ]
Je suis debutant en vb.net, j'ai 3 GroupBox chacune avec plusieurs radioButton, ce qui permet de faire une selection de different produits(un par Grou
VB.NET - Déplacement de plusieurs PictureBox d'un panel [ par morickno ]
je déplace une pictureBox présente sur un panel en cliquant dessus puis avec le déplacement de la souris, le mouseMove(comme du dr
VB.NET [ par mayouma ]
Bonjour;Je suis entrain de faire une application en VB.Net. j'ai créer une form qui contient un menu et dans laquelle il y a un panel pour pouvoi
RadionButton en .net [ par dragon ]
Salut,j'ai une petite question pour les pro de .netj'ai mis des radio button sur une form qui contient des panels (ici c'est encore débutant, 
|
Derniers Blogs
[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 SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
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 Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|