2009-06-17 5 views
1

Existe-t-il un moyen d'aligner le texte dans un formulaire WinForms? Aussi connu comme la légende de la barre de titre ou le texte de la barre de titre? Jusqu'à présent, la seule façon que je peux voir pour le faire est de tamponner la chaîne avec des espaces. Je définis la légende de la barre de titre à l'aide de la propriété Form.Text.Légende de la barre de titre du centre de la forme de ruban Syncfusion WinForms?

Je devrais ajouter que j'utilise un formulaire de ruban tiers, de sorte que l'application ressemble à une application Microsoft Office 2007. Et ces applications alignent le texte au centre, sans doute parce que lorsque le texte est aligné à gauche, il est ajouté au fouillis de boutons en haut à gauche et semble mauvais.

+1

Je ne le ferais vraiment que si quelqu'un avait un pistolet sur la tête. Il va rendre votre logiciel look amatuerish –

+0

Ajout de détails concernant pourquoi je voudrais faire cela. Je suis d'accord que cela n'aurait pas de sens pour une fenêtre WinForms vanille. – stone

Répondre

2

Pour quiconque est intéressé, j'utilise Syncfusion Essential Tools. La solution est la suivante:

this.ribbonToolbar.TitleAlignment = Syncfusion.Windows.Forms.Tools.TextAlignment.Center; 

L'alignement de titres est une propriété de la barre d'outils du ruban et non de la RibbonForm, ce qui explique pourquoi je ne trouve pas avant. Merci à tous ceux qui ont répondu.

2

Honnêtement - ne pas. Les utilisateurs Windows s'attendent à ce que certaines choses fonctionnent d'une certaine manière, et cela ne satisferait pas aux pratiques standard. Sans compter que le bouton dans la barre des tâches ne montrerait plus le texte de la barre de titre car il serait poussé vers la droite.

Vous pouvez prendre complètement en charge la zone non-client d'un formulaire, auquel cas vous pouvez faire ce que vous voulez. Même si vous avez fait cela, cependant, ma recommandation pour votre conception serait d'avoir le titre en haut à gauche, bouton de fermeture en haut à droite, etc

+0

Avec la barre de ruban, les utilisateurs s'attendent à ce que le texte soit centré et j'utilise une barre de ruban. Désolé, je l'ai laissé de côté avant; Je ne pensais pas que c'était pertinent à la question. – stone

+0

La barre de ruban personnalisée dessine la barre de titre - vous pouvez le dire car des boutons sont ajoutés à la légende. – Michael

+0

Bon point. Rétrospectivement, c'est une question mieux posée au fournisseur tiers. Je vérifie avec eux. – stone

1

La barre de titre est rendue par le système et il n'y a pas d'option pour centrer le texte. Pour centrer efficacement, vous devez dessiner la barre de titre vous-même - ceci peut être fait en code natif en manipulant des messages WM_NCPAINT et ainsi de suite, mais vous ne savez pas comment cela peut être facilement fait en .NET.

Mais pourquoi voulez-vous changer? Les normes Windows UX ont le texte aligné à gauche.

0

Je ne crois pas que vous le pouvez.

Vous pouvez masquer la barre de titre et la remplacer par un contrôle utilisateur et appliquer la même fonctionnalité qu'une barre de titre, mais je ne pense pas que ce soit une bonne idée.

La cohérence pour l'utilisateur est probablement plus importante que la raison que vous avez pour vouloir centrer le texte.

+0

En fait, la cohérence est la raison pour laquelle je veux le faire. Voir la question mise à jour. Merci pour votre suggestion. J'espère que je peux trouver quelque chose de plus facile que ça! – stone