Radiobuttons sans effets mais code correct

Résolu
Visualover Messages postés 9 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 24 mars 2008 - 24 mars 2008 à 12:57
Visualover Messages postés 9 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 24 mars 2008 - 24 mars 2008 à 20:10
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

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
24 mars 2008 à 13:22
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>
3
Visualover Messages postés 9 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 24 mars 2008
24 mars 2008 à 17:22
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? =(
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
24 mars 2008 à 18:01
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>
0
Visualover Messages postés 9 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 24 mars 2008
24 mars 2008 à 18:51
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
24 mars 2008 à 19:25
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>
0
Visualover Messages postés 9 Date d'inscription mercredi 6 décembre 2000 Statut Membre Dernière intervention 24 mars 2008
24 mars 2008 à 20:10
Merci ;)
0
Rejoignez-nous