IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Touche F11 du navigateur


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut Touche F11 du navigateur
    Bonjour à tous,

    Dans la plupart des navigateurs, on utilise la touche F11 pour le mettre en plein écran.
    Comment faire en sorte que l'application Silverlight n'intercepte pas la touche F11 car dans un site en full Silverlight, lorsque l'on appuie sur la touche F11, cela ne fait rien...

    Quelqu'un aurait une idée?

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Non.

    J'aurais été tenté de mettre en fullscreen la navigateur avec du javascript mais on peut pas sans avoir à recharger la page (donc l'application Silverlight).

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    ok mais ça ça va n'irait pas de recharger l'application. ça a pas l'air d'être très possible au final...

  4. #4
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Ton problème est bizarre car lorsque je test mon appli SL et que je la met en plein écran , si j'appui sur la touche F11, cela revient bien en écran Normal.

    Est ce que tu es abonné à l'évement KeyDown dans ton appli SL, ce qui pourrait expliquer que le navigateur ne recoit plus l'évenement et donc ne repasse plus la page en mode "normal" ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    et bien en fait le browser se met bien en full screen lorsque j'appui sur la touche f11 mais uniquement lorsque je n'ai pas encore cliké sur le control silverlight de la page. En d'autre terme lorsque le control silverlight a le focus, la touche f11 est interceptée par le control SL et plus par le browser.

    Il faudrait que je puisse controler le focus de l'application SL.

  6. #6
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    tu est donc abonné quelque part dans ton appli SL à l'évenement KeyDown non ?

    car j'ai testé, même lorsque le focus est dans un controle SL, si j'appui sur F11 ca se met bien en plein écran et inversement

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    oui je suis abonné à l'evenement keydown dans mon application.

  8. #8
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Un truc crade : donner le focus à un contrôle non Silverlight sur ta page.

    HtmlPage.Document.GetElementById("id").Focus();

    Après je vois pas comment utiliser ça mais bon.

    Tu sais que tu peux mettre une application Silverligth en plein écran à la place.

  9. #9
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    et tu pourrais nous montrer le code de ta méthode Key_Down ?

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    lol je vais voir avec ton truc crade skyounet.

    En fait je veux pas mettre mon application en plein ecran par Silverlight car les touches ensuite du clavier ne fonctionne plus en fullscreen.

  11. #11
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    je m'y abonne ds le load de mon control principal et de delegate est celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     void BPMLightMain_KeyDown(object sender, KeyEventArgs e)
            {
                if(e.Key == Key.Delete)
                    workflow.RemoveElement.DeleteSelection();
                if (e.Key == Key.Escape)
                    workflow.LinkManager.CancelLinkOnClick();
            }
    Les methodes appelées font rien de spéciales...

  12. #12
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par talu3000 Voir le message
    lol je vais voir avec ton truc crade skyounet.

    En fait je veux pas mettre mon application en plein ecran par Silverlight car les touches ensuite du clavier ne fonctionne plus en fullscreen.
    Bah tu n'as que les flèches et la barre espace qui fonctionnent.
    Mais c'est vrai que si tu utilise la touche del, c'est embêtant.

  13. #13
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    oué mais du coup son boutton "Supprimer" ne marchera plus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     void BPMLightMain_KeyDown(object sender, KeyEventArgs e)
            {
                if(e.Key == Key.Delete)
                    workflow.RemoveElement.DeleteSelection();
                if (e.Key == Key.Escape)
                    workflow.LinkManager.CancelLinkOnClick();
            }
    A part une solution en JS je ne vois pas trop comment tu pourra faire à part informer tes utilisateurs

  14. #14
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    ah ! je savais pas que les fleches et la barre espace fonctionnaient sympas ça pour les jeux.

    Par contre avec ta technique skyounet je n'arrive pas à choper le focus d'un element du DOM.

    J'ai rajouté ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                if (e.Key == Key.F11)
                {
                    HtmlPage.Document.GetElementById("ff").Focus();
     
                }
    et dans ma page aspx:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <body style="height:100%;margin:0;  min-height:750px">
    <div id="ff"></div>
        <form id="form1" runat="server" style="height:100%;">
            <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
            <div  style="height:100%;">
                <asp:Silverlight ID="Xaml1" runat="server" Source="~/ClientBin/BPMLight.xap" MinimumVersion="2.0.30523" Width="100%" Height="100%" />
            </div>
        </form>
    </body>
    J'appuie donc sur la touche F11 pour que l'élément "ff" reçoit le focus, puis je reappuie sur F11 pour que le browser se mettre en fullscreen. Mais rien... je sais meme pas si la div ff à le focus ou non...

  15. #15
    Membre chevronné
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Par défaut
    Tu as essayé de mettre un point d'arrête sur ton Key == Key.F11 pour voir si tu passes bien dedans ?

    car j'ai tester et moi je ne passe jamais dans l'évenement KeyDown lors de l'appui sur la touche F11

  16. #16
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    chez moi il passe bien dedans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if (e.Key == Key.F11)
                {
                    HtmlPage.Window.Alert("je passe dedans");
                    HtmlElement ff = HtmlPage.Document.GetElementById("ff");
                    ff.Focus();
                }
    L'élement ff est bien trouvé dailleur mais apres, j'appuie sur F11 à nouveau et normalement ça devrait faire un fullscreen de la part du browser mais en fait ça fait rien la.

    Drop: tu as du mal t'abonné je pense...

  17. #17
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Questio bête: pourquoi tu ne démarres pas ton application en plein écran (via un window.open(....) ?

  18. #18
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 98
    Par défaut
    ouai ça serai une solution mais bon j'aurai voulu que l'utilisateur puisse qd meme choisir si il veut etre en plein ecran ou pas.

    Une fonction en JS pour le fullscreen pour ceux que ça interresse:
    http://pagesperso-orange.fr/coin.des...s/faq9_30.html

Discussions similaires

  1. Verrouiller touche F11 sous excel
    Par thepunky89 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/04/2008, 14h56
  2. Simuler la touche F11 pour un nul
    Par Claude_Azoulai dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/12/2007, 17h42
  3. [Cookies] Suppression avec touche retour du navigateur
    Par mussara dans le forum Langage
    Réponses: 15
    Dernier message: 23/01/2007, 16h56
  4. Inhiber la touche F11
    Par faiglon dans le forum Access
    Réponses: 4
    Dernier message: 18/07/2006, 11h51
  5. Comment bloquer la touche précédente du navigateur?
    Par shnouf dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2006, 10h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo