2008-12-08 6 views
2

J'ai une application qui change la police de chaque contrôle à SegoeUI lorsqu'il est exécuté dans Vista. Cela fonctionne bien, sauf pour les en-têtes de tabpages (les boutons à cliquer lors du passage d'un onglet à un autre).TabControl les en-têtes d'onglet redimensionner lors de la modification de la police

Les en-têtes de page à onglet ne se développent pas verticalement pour s'adapter à une taille de police plus importante, ils restent toujours à la même hauteur.

Y a-t-il une propriété qui permettra au TabControl de gérer cela? (J'ai essayé AutoSizeMode, mais il ne traite que de la largeur d'un onglet)

Sinon, quelle est la meilleure façon de redimensionner les en-têtes de tabulation par programme en fonction de la taille de la police?

Répondre

4

Il existe une propriété ItemSize dans le contrôle onglet que vous pouvez définir pour modifier la taille des onglets eux-mêmes. En outre, pour vous aider à obtenir la taille du texte, il existe une méthode MeasureString() sur l'objet Graphics qui vous donnera une structure SizeF avec la taille du texte donné. Cela peut vous aider à déterminer si vous devez modifier la propriété ItemSize. Certains code approximatif:

  Graphics g = this.tabControl1.TabPages[0].CreateGraphics(); 
      SizeF s = g.MeasureString(this.tabControl1.TabPages[0].Text, this.tabControl1.TabPages[0].Font); 
Questions connexes