Radiobuttons sans effets mais code correct

[Résolu]
Signaler
Messages postés
9
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2008
-
Messages postés
9
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2008
-
bonjour, Voilà mon problème, deux radiobuttons OUI et NON , qui s'apellent respectivement SonOk et SonPasOk.
Lorsque par la fenetre propriétés je met par défaut SonOk à TRUE. La musique se lance, mais en cliquant sur non rien ne se passe.
Lorsque par la fenetre propriétés je met par défaut SonPasOk à TRUE. La musique ne se lance pas (normal) mais si je clique sur OUI rien ne se passe...

Et si je ne touche pas à la fenêtre propriété .. (donc les 2 à FALSE initialement), et que le veux activer la musique.. rien ne se passe..
Pourtant mon code me semble correct... Pourquoi cela ne marche pas ?

Private

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

If SonOk.Checked =
True
Then

My.Computer.Audio.Play(
"C:\Users\Spr_\Documents\IUT\PIG\TDs\FUTBAG\WindowsApplication1\WindowsApplication1\sound.wav")

ElseIf SonOk.Checked =
False
Then  ' ou bien même si je mets Else If SonPasOk.Checked = True Then (c'est la meme chose n'est ce pas ? )

My.Computer.Audio.Stop()

End
If

End
Sub

6 réponses

Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut,
je connais pas trop vb.net, mais
-Places tes radiobuttons dans un container
(picturebox ou frame...)


-Dans l' évement click de SonOk mets
   My.Computer.Audio.Play()
-Dans l' évement click de SonPasOk mets
   My.Computer.Audio.Stop()


Il est évident qu' on parle ici de radiobuttons.
Si c' est le cas, à ma connaissance, la propriété Checked
 c' est pour les CheckBox.
Pour les radiobuttons c' est plutôt .Value.







<hr />

... Y'en a même qui disent qu'ils l'ont vu voler.



<hr />





/PRE>
Messages postés
9
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2008

Bonjour et merci de ton intervention
j'ai trouvé la solution durant l'après midi et je complète ta réponse :)

J'avais déjà placé mes radiosbuttons dans une groupbox.
Il fallait en effet doubler cliquer sur mes radiosbuttons afin d'écrire le code correspondant à l'événement click de chacune d'elle
Donc ça marche
si le code interesse qq'un, le voici :
Private

Sub SonOk_CheckedChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles SonOk.CheckedChanged

If SonOk.Checked =
True
Then

My.Computer.Audio.Play(
"C:\Users\Spr_\Documents\IUT\PIG\TDs\FUTBAG\WindowsApplication1\WindowsApplication1\sound.wav", AudioPlayMode.BackgroundLoop)

End
If

End
Sub

Private
Sub SonPasOk_CheckedChanged(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles SonPasOk.CheckedChanged

If SonPasOk.Checked =
True
Then

My.Computer.Audio.Stop()

End
If

End
Sub

Néanmoins dans ce cas là, à quoi servent les fonctionnalités Checked et Value si ça ne marche pas? =(
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
t' as raison ! le test ne sert à rien puisque en cliquant sur une option elle se met à true si elle était à false et reste à true si elle est déja
à true.
Elle est donc toujours à true suite à un click.


Ce qui nous amène à ma question:
Pourquoi tu utilises l' évément Change au lieu de Click ?
je dirais plutôt :
Private Sub SonOk_CheckedClick(...
) ...














My
.Computer.Audio.Play(

"C:\Users\Spr_\Documents\IUT\PIG\TDs\FUTBAG\WindowsApplication1\WindowsApplication1\sound.wav"
, AudioPlayMode.BackgroundLoop)











End



Sub









Private



Sub
SonPasOk_CheckedClick(

...
)

...












My
.Computer.Audio.Stop()











End



Sub


Les deux options étant sur un même Container, en cliquant sur l' un , l' etat de l' autre s' inverse automatiquement.
Si tu utilise Change, les deux Sub se declenchent, je pense.
Alors qu' avec Click, seul la sub correspondante au control concerné se déclenche.                       
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/P>
Messages postés
9
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2008

Hmm je vois ce que tu veux dire,
mais les deux codes marchent.
Le tien semble plus judicieux, lol, perfectionniste va lol :p

Pour te répondre , j'ai utilisé l'évènement Changed car d'après ce que j'ai lu sur internet, cela symbolisait le changement d'état du radiobutton.


donc en gros : si le changement d'état passe à TRUE alors ... etc .. ^^


enfin , c'est ainsi que je le conçois
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
beh, t' as peut être raison d' utiliser Change.
D' autant plus qu' en VB6, cet événement n' existe pas
pour les optionbuttons.
Je connais donc pas la réaction des controls en vb.Net.
J' ai tendance à être plus théorique, peut être ! 


Bonne continuation.


Amicalement.







<hr />

... Y'en a même qui disent qu'ils l'ont vu voler.



<hr />





/PRE>
Messages postés
9
Date d'inscription
mercredi 6 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2008

Merci ;)