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

C# Discussion :

Probleme avec UIElement


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Février 2011
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 106
    Par défaut Probleme avec UIElement
    Bonjour , j'utilise c# en Visual Studio 2008 et mon objectif est de savoir quel est l'element qui contient le focus du clavier .
    J'utilise l'instruction suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIElement elementWithFocus = Keyboard.FocusedElement as UIElement;
    après la compilation, le message
    Vous devez probablement ajouter une référence au projet pour que UIElement fonction
    apparait ...
    quelqu'un peut me dire la nom de la référence a ajouté ?

    merci d'avance

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Tu es bien dans un projet WPF/Silverlight?
    En wpf, UIElement se trouve dans PresentationCore.dll. sous Silverlight, c'est dans System.Windows.dll. Mais ça devrait être dans ton projet (si c'est un projet WPF/SL)

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    A priori c'est du WPF, vu que Keyboard.FocusedElement n'existe pas en Silverlight...

    Normalement tu devrais avoir ces 3 assemblies référencés dans ton projet :

    WindowsBase
    PresentationCore
    PresentationFramework

  4. #4
    Membre très actif
    Inscrit en
    Février 2011
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 106
    Par défaut
    d'abord , je suis en Windows Application Forms , apres que j'ai ajouté les references que vous m'avez indiquez, qu'est ce que je dois ecrie comme (Using... ) ?
    merci d'avance

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par marocdivers Voir le message
    d'abord , je suis en Windows Application Forms ,
    Dans ce cas tu ne peux pas utiliser Keyboard.FocusedElement, c'est seulement pour les applications WPF...

    En Windows Forms, il n'y a pas de méthode spécifique pour faire ça, mais tu peux utiliser l'API Win32 GetFocus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    using System;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
    ...
     
    [DllImport("user32.dll")]
    static extern IntPtr GetFocus();
     
    static Control GetFocusedControl()
    {
        IntPtr hwnd = GetFocus();
        if (hwnd != IntPtr.Zero)
            return Control.FromHandle(hwnd);
        return null;
    }

  6. #6
    Membre très actif
    Inscrit en
    Février 2011
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 106
    Par défaut
    Merci Mr.tomlev, ça a l'air marché mais j'aime bien recuperer le nom du control et non pas son type, et avec ce que vous m'avez envoyez je ne recupere que le type, merci encore une autre fois

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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