Aller au contenu

C# - Alignement textes


Goud

Messages recommandés

Bonjour,

 

J'aimerai aligner verticalement 3 colonnes de textes sur un layout de présentation comme ceci :

image

 

La première colonne représente une liste de produit, la seconde le fournisseur et la dernière l'épaisseur.

 

J'ai essayé de tout joindre dans un seul texte (MText) et manipuler la tabulation de chaque ligne en fonction de la longueur (longcount) de chaque string (Produit/Fournisseur etc..). Mais chaque lettre n'a pas la même largeur donc je me trouve souvent avec une erreur d'une tabulation.

 

J'ai essayé de créer 3 MText pour faciliter l'alignement horizontal mais je n'arrive pas à gérer l'alignement vertical du aux accents qui agrandissent la hauteur de la ligne dans laquelle ils sont.

image2

 

Auriez-vous une solution efficace ?

Merci

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

Personnellement, j'utiliserais un tableau.

Mais si tu veux faire ça en texte multiligne, tu peux utiliser les colonnes des textes multiligne (inconvénient la largeur de toutes les colonnes est identique.

Dans le contenu du texte multiligne, "\P" signifie un saut de ligne et "\N" un saut de colonne. On remplit les lignes d'une colonne avant de passer à la suivante.

 

Exemple :

var produits = new[] { "ALSAN Primaire P100", "EIF Sopradère", "Elastophène Flam 70" };
var fournisseurs = new[] { "Soprema", "Soprema", "Soprema" };
var epaisseurs = new[] { "ép. 10 mm", "ép. 10 mm", "ép. 10 mm" };
var mtext = new MText();
mtext.Contents =                                    // contenu du texte multiligne
   string.Join("\\P", produits) + "\\N" + 
   string.Join("\\P", fournisseurs) + "\\N" + 
   string.Join("\\P", epaisseurs);
mtext.TextHeight = textHeight;                      // hauteur de texte
mtext.SetStaticColumns(textHeight * 20.0, 0.0, 3);  // largeur de colone = 20 * hauteur de texte
mtext.Height = textHeight * 2 * produits.Length;    // hauteur du mtext (2 * hauteur de texte * nombre de lignes)

Gilles Chanteau - gileCAD -
Développements sur mesure pour AutoCAD
ADSK_Expert_Elite_Icon_S_Color_Blk_125.png

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Salut gile,

 

Merci de ta réponse, j'avais laissé un peu ce problème de côté.. Malheureusement ta solution d'utiliser les colonnes dans le texte multiligne ne permets pas l'alignement vertical des lignes (ou j'ai oublié quelque chose..).

Je pense que la solution se trouve plutôt du côte du tableau, je reviens vers toi en cas de questions.

 

Merci

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité