Son avec keydown event et showdialog

Signaler
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
-
bonjour,
j'ai un formulaire ou l'appuie d ela touche entrée dans un textbox va lancer un autre formulaire
Quand j'appuie sur la touche entrée il ya un son qui se produit (je pensais que ct le keydown) mais j'ai fait e.suppreskeypress=true mais il y a quand meme le bruit???

voila le peti bout de code , si quelqu'iun sait comment enlever ce sons , c ela me serait bien util
merci

            if (e.KeyCode == Keys.Enter)
            {
               
                try
                {

                    if (Convert.ToDecimal(textBox_1.Text) != 0)
                    {
                        e.suppresskeypress=true; //je le met la car je vais qu'il n'y ait pas d eson seuelemnt si c //correct....
                        using (formu mp = new formu())
                        {
                           
                            if (mp.ShowDialog() == DialogResult.OK)
                            {
........
}

10 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
il faut mettre à true le e.Handled

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
ben non le son se produit toujours
Donc il me semble bien que c le showdialog qui produit le son
peut on  l'en empecher??

 
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
Nan... ShowDialog est silencieux... (heureusement, je n'utilise que ca )

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
ben c vraiment bizarre parce que j'ai enlevé la ligne avec sowdialog et le son a disparu
et quand je quitte (je clique sur la croix) je mets un messagebox (qui fonctionne un peu comme showdialog il me semble) alors qu'il n'y a pas de keydown event un son se produit au moment ou la boite de dialogue apparait....
cele ne se produit-il que che zmoi?

quelqu'un a-t-il une idée?
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
une MessageBox produit un son... pas un formulaire ouvert par ShowDialog.
Ce n'est pas du tout la même chose.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
ben ca le fait chez moi..


j'ai enlever les 2 lignes de codes concernant le formulaire a lancer et le son ne se produisait plus...


sinon ya-t-il moyen de reduitre son application alors qu'un formulaire est lancé avec showdialog ?


 
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
non... ce n'est pas possible... puisque par définition, lors d'un ShowDialog la nouvelle fenêtre est modale.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
448
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
1
je susi d'accord que dan sle cas général , showdialog ne fait pas de son mais quand je le lance a partir de l'event keydown (avec e.keycode==keys.enter) ca le fait...
essaie si tu veux , si tu reussi a ne pas avoir le son et que tu peux me donne r le petit bout de code que tu as composé pour obtenir le resultat espere je t'en serais reconnaissant
merci
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
en effet, je viens de tester... il y a le bip... en fait ca doit être dû au fait que la textbox cherche à reprendre le focus après l'appuie sur la touche entrée.

Par contre, à la place de ShowDialog, tu peux utiliser Show(this) qui aura le même comportement... ou presque.
Show() ne bloque pas le thread dans lequel tourne le formulaire appelant, il faut donc travailler en asynchrone.

Si j'ai le temps, je ferai une source qui montre ca.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
voici la source : http://www.csharpfr.com/code.aspx?ID=39447

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]