Ich habe eine benutzerdefinierte abgerundete Textbox, und ich möchte nicht Text in abgerundete Teile schreiben, also möchte ich wissen, wie viele Zeichen vom Anfang der Zeichenfolge eine angegebene mit erreichen. Ich weiß, TextRenderer.MeasureText
, um eine Zeichenfolge zu messen, aber es gibt nur die Breite einer Zeichenfolge, funktioniert nicht umgekehrt. Wie kann ich das machen?Wie erhält man einen Stringteil nach einem Breitenwert?
Ich kann das tun, aber es kann manchmal viel Zeit dauern.
string resultText = string.Empty;
for (int i = 0; i < Text.Length; i++)
{
resultString = Text.Substring(0, i);
if (TextRenderer.MeasureText(resultText, Font).Width <= textWidth)
break;
}
welche Art von Anwendung ist das? Verwenden Sie ordnungsgemäßes Tagging –
Dies ist eine Windows Form Application –
Sofern Sie nicht eine Schriftart mit fester Breite verwenden, haben alle Zeichen unterschiedliche Breiten, so etwas wie das ist, was Sie tun müssen. – TaW