none
BackColor dans une TabControl.TabPage RRS feed

  • Question

  • Bonjour,

    Qu'arrive t'il à mon VS 2008 ? Voila que je n'arrive plus à créer un TabControl avec des TabPage dont le BackColor est positionné sur une couleur spécifique. Il revient toujours en Transparent...

    Merci de vos avis.
    Alain
    mercredi 25 février 2009 11:20

Réponses

  • J'ai fait le même test et obtenu le même comportement. Par contre la propriété UseVisualStyleBackColor du TabPage est à true dans ce cas. Si je passe la propriété à false, la couleur désirée s'affiche. ( Pour passer la propriété à false, ne passez pas par la collection de TabPage mais sélectionnez directement le Tabpage depuis le designer )

    Par contre si au lieu de passer par la collection TabPages, on sélectionne directement par un click dans le designer le TabPage désiré, et que l'on change la propriété BackColor, dans ce cas UseVisualStyleBackColor reste à false, et la couleur choisie est bien présente.
    • Marqué comme réponse AchLog jeudi 26 février 2009 16:30
    jeudi 26 février 2009 15:28
    Modérateur

Toutes les réponses

  • La propriété UseVisualStyleBackColor du tabPage est à false ?
    mercredi 25 février 2009 12:16
    Modérateur
  • Non, elle est à True. Le résultat est le même si je la mets à False.

    J'ajoute que le BackColor prend la couleur choisie lors de son affectation mais repasse à "Transparent" lors de la validation par le bouton Ok de l'assistant.

    Autre précision, je ne sais pas si elle a de l'importance : je travaille en VB

    Merci


    Alain
    mercredi 25 février 2009 12:34
  • De quel assistant s'agit - il?
    J'ai fait un test en vb, sur une form vierge, on précise un Backcolor sur le TabPage depuis les propriétés et la propriété UseVisualStyleBackColor passe automatiquement à false.
    mercredi 25 février 2009 12:52
    Modérateur
  • Oui, en fait il s'agit des propriétés du TabControl (non d'un assistant comme je l'avais dit).

    Je crée un nouveau projet avec une Form, je glisse un TabControl. Je passe sa propriété Dock à Fill puis je passe sur TabPages (Collection) et je vois les propriétés des deux TabPages qui ont été créées automatiquement.

    Je choisi un BackColor pour la première d'entre elles. La nouvelle couleur s'affiche correctement mais quand je clique Ok, elle s'efface et la propriété revient à Transparent ! UseVisualStyleBackColor repasse automatiquement à True.

    SI je fait passer UseVisualStyleBackColor à False, la couleur de fond apparait mais disparait à nouveau dès que je valide par Ok. UseVisualStyleBackColor repasse automatiquement à True.

    Avez-vous une idée de l'origine de ce comportament ? Y a t'il un paramètre général de VS qui serait mal positionné et qui forcerait UseVisualStyleBackColor= True ? ça fonctionnait bien pourtant avant ?


    Alain
    jeudi 26 février 2009 15:13
  • J'ai fait le même test et obtenu le même comportement. Par contre la propriété UseVisualStyleBackColor du TabPage est à true dans ce cas. Si je passe la propriété à false, la couleur désirée s'affiche. ( Pour passer la propriété à false, ne passez pas par la collection de TabPage mais sélectionnez directement le Tabpage depuis le designer )

    Par contre si au lieu de passer par la collection TabPages, on sélectionne directement par un click dans le designer le TabPage désiré, et que l'on change la propriété BackColor, dans ce cas UseVisualStyleBackColor reste à false, et la couleur choisie est bien présente.
    • Marqué comme réponse AchLog jeudi 26 février 2009 16:30
    jeudi 26 février 2009 15:28
    Modérateur
  • Ah Oui, Parfait ! 

    Je n'avais pas pensé à sélectionner directement les TabPages sans passer par la collection.
    C'est la bonne méthode pour contourner ce bug de VS 2008.

    Merci beaucoup de votre aide.
    Bien cordialement
    Alain
    jeudi 26 février 2009 16:34