mayssa_kh3
Messages postés28Date d'inscriptionjeudi 20 avril 2006StatutMembreDernière intervention 2 juin 2006
-
15 mai 2006 à 15:51
jsem2k1
Messages postés125Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention12 août 2008
-
23 mai 2006 à 02:06
bonjour
je vais parler de mon probleme .
j'ai 6 checkbox sur une form.je veux realiser l'operation suivante:si je coche 4 parmi eux les deux autres seront desactivé automatiquement jusque la c faisable .
Mais si je decoche une parmi les quatres cochés les checkbox desactivés reviennent actif?
comment feari-je?
merci d'avance!!
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 15 mai 2006 à 16:01
Salut,
Il suffit de faire un test sur tout tes checkbox activés pour verifier si ils sont tous cochés:
1- si ils sont tous cochés alors les deux derniers sont inactifs (enable = False)
2- si ils ne sont pas tous cochés alors les deux derniers sont actifs (enable = True)
En supposant que tu aies un groupe de checkbox appelé choix avec les index allant de 0 à 5
essaie le code suivant.
Private Sub Choix_Click(Index As Integer)
Dim i As Integer
Dim TousCocher As Boolean
TousCocher = True
For i = 0 To 3
If Choix(i).Value = 0 Then
TousCocher = False
Exit For
End If
Next i
Choix(4).Enabled = Not TousCocher
Choix(5).Enabled = Not TousCocher
End Sub
Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
jsem2k1
Messages postés125Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention12 août 20081 23 mai 2006 à 02:06
Avec le DotNet il n'est plus possible de faire des tableau de controle comme en vb6. :( Domage. Toutefois il est possible de redirigé toute ( ou presque) les Handles des évènemenr de différant controle vers une seule procédure. Cool
Moi ce que je te suggère c'est de créé une variable nChked as integer qui va contenir le nombre de check box qui son coché
faire un tableau qui vas contenir tous les checkbox et de regiriger tout les évènement CheckedChanged ver une meme procédure
sa donne a peu près sa
Public Class Form1
Public ChkBox(5) As CheckBox
Dim nChked As Integer
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
For i As Integer = 0 To 5
AddHandler ChkBox(i).CheckedChanged, AddressOf Me.ChkBox_ChkChange
Next
End Sub
Private Sub ChkBox_ChkChange(ByVal sender As Object, ByVal e As System.EventArgs)
If sender.ToString.EndsWith("0") Then
nChked -= 1
Else
nChked += 1
End If
If nChked = 4 Then
For i As Integer = 0 To 5 If ChkBox(i).Checked False Then ChkBox(i).Enabled False
Next
ElseIf nChked = 3 Then
For i As Integer = 0 To 5 If ChkBox(i).Enabled False Then ChkBox(i).Enabled True
Next
End If
End Sub