Frage

Ich bin verketten eine Zeichenfolge, die manchmal lang genug ist, damit es nicht in einem Label-Steuerelement zu passen. Wie kann ich es machen zu rightAutoScroll, so dass ich immer das Ende der Zeichenfolge sehen?

War es hilfreich?

Lösung

Während ich bin sicher, es gibt Möglichkeiten zu tun, ich fragen, warum? Ich denke, es würde aussehen und / oder sehr schlecht arbeiten und wahrscheinlich den Benutzer verwirren.

Warum haben nicht den Text mit einer Ellipse getrimmt bekommen (...) am Ende und zeigt einen Tooltip auf dem Etikett?

using System.Windows.Forms;

var label = new Label();
label.AutoSize = false;
label.AutoEllipsis = true;
label.Text = "This text will be too long to display all together.";

var labelToolTip = new ToolTip();
labelToolTip.SetToolTip(label, label.Text);

Nun ist die Tooltip wird den vollständigen Text anzuzeigen, wenn der Benutzer darüber bewegt. Da der Text in dem Etikett abgeschnitten wird und in einer Ellipse enden, weiß der Benutzer sollte für weitere Informationen zu schweben (in der Regel des Standard-Weg).

Andere Tipps

Die TextAlign Immobilien ermöglicht es Ihnen, die Ausrichtung zu bestimmen. Wenn Sie mit der rechten rechtfertigen es mit diesem, wird die rechte Seite des Textes immer sichtbar sein. Allerdings, wenn Sie es verlassen werden oder in der Mitte gerechtfertigt wollen und haben noch das Verhalten, das Sie beschreiben, vermute ich Sie etwas Messung mit Graphics.MeasureString , um zu bestimmen, ob der Text paßt und die Ausrichtung dynamisch ändern.

AFAIK gibt es keine Möglichkeit, ein Etikett zu blättern. Ein Hack wäre einen Text zu verwenden (read-only, deaktivieren Grenze), dann verwenden SendKeys.Send (), um die Cursor an das Ende des Textes zu bewegen. So etwas wie:

        textBox1.Focus();
        SendKeys.SendWait("{END}");

Um den Text zu erhalten, um nicht zu zeigen, wie wählte ich seine Position in der Tab-Reihenfolge ändern musste (so dass es nicht 1 war), aber das kann nicht ein Problem in Ihrem Fall sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top