none
Cadre sur un Panel - initialement : TabStop sur un contrôle utilisateur RRS feed

  • Discussion générale

  • Bonjour tout le monde,

    J'ai créé un contrôle utilisateur qui affiche des informations, ça n'a aucun sens que la tabulation s'arrête dessus.

    Il s'avère toutefois que par défaut c'est le cas, et "uc1.TabStop = false" est ignoré.

    Je m'en suis sorti en gérant le focus dans l'événement Leave du contrôle précédent du formulaire contenant.

    Y a-t-il quelque chose que j'ai loupé ?


    mardi 19 décembre 2017 10:46

Toutes les réponses

  • Bonjour Gloops,

    Dans votre UserControl, dans la balise <UserControl> du code XAML, définissez la propriété attaché KeyboardNavigation.TabNavigation à None.

    KeyboardNavigation.TabNavigation="None"

    Cordialement,

    mardi 19 décembre 2017 10:58
  • Bonjour,

    Dans un contrôle WinForm il y a du code Xaml ?

    Je ne m'étais pas rendu compte de ça. Je regarde demain.

    Merci.

    mardi 19 décembre 2017 20:07
  • Hum je pensais que vous travaillez dans une solution WPF, du coup pas de XAML en Windows Forms. Le TabStop peut fonctionner sur un UserControl à condition que les contrôles dans la fenêtre on tous des index de tabulations correctes et dans le bon ordre. Commencez par vérifier par là. Naviguez dans le menu Affichage de Visaul Studio > Tab Order pour visualiser ça.

    Cordialement,

    mercredi 20 décembre 2017 09:00
  • Bonjour,

    Oups, autant pour moi. Je viens de faire un formulaire de test avec un contrôle utilisateur qui n'a que des Label, et tout se passe bien, quelle que soit la valeur de la propriété TabStop, comme la tabulation n'a rien à faire là elle ne s'y arrête pas. Le contenu du contrôle utilisateur n'apparaît qu'à l'exécution, ça je crois que c'est normal ?

    En réalité, sur le formulaire qui a motivé ma question, comme j'initialise les chaînes une par une et que ce n'est appelé que là c'était aussi simple de positionner des Label sur un Panel, et puis comme finalement il fallait faire apparaître un titre je l'ai remplacé par un GroupBox.

    Je me retrouve donc avec une question complètement différente de celle que j'ai posée : est-il possible de mettre un TabStop = false sur un GroupBox ?

    C'est bien possible que non, vu que j'ai dévié le contrôle de son utilisation initiale.

    J'aurais pu utiliser un Panel, plutôt, et je soupçonne que je n'aurais pas eu ce problème. Graphiquement, le cadre qu'on obtient sur un GroupBox est plus délicat à obtenir, non ? La difficulté étant d'obtenir un titre sur le cadre.


    • Modifié Gloops jeudi 21 décembre 2017 10:35
    jeudi 21 décembre 2017 10:27