2013-10-09 2 views
1

J'ai un contrôle de zone de texte de DevExpress et nous ne pouvons pas permettre plus de caractères au-delà de sa capacité. Le problème est que la chaîne d'entrée est au format xml et peut avoir plusieurs polices. Si la taille de la police augmente, le nombre maximal de caractères diminue. Ma première pensée est de compter par ligne, parce que les lignes sont mesurables malgré la taille de la police. Mais la colonne je ne pouvais pas voir un moyen.Remplissage d'une zone de texte avec une taille limitée

Comment est-ce que je pourrais remplir cette zone de texte en tenant compte des balises e xml de police de caractères?

+1

Probablement besoin de mesurer la taille du texte rendu et de voir s'il correspond à la taille de la zone utilisable de la zone de texte. – Tony

+0

Utilisez-vous un masque d'édition, ou non? –

+0

Vous ne pouvez pas vous aider, mais il y a un tag devexpress que vous voudrez peut-être ajouter à votre message – sab669

Répondre

1

Vous pouvez utiliser le traitement des exceptions à comprendre pour vous:

bool flag = false; 
int count = line.Length; 

do 
{ 
    try 
    { 
     txt.Text = line.SubString(0, count); 
     flag = true; 
    } 
    catch(TheException) 
    { 
     count--; 
    } 
} 
while(!flag); 

Cela fonctionne si vous obtenez une exception pour la mise en ligne trop longue.

+0

Hi mandrin, merci pour la réponse. Malheureusement, je ne serai pas capable de l'utiliser. À mesure que la taille de la police augmente, le nombre maximal de lignes diminue. Mon erreur =]. Voyons voir ce que les autres ont à dire. –

Questions connexes