2009-06-19 14 views
0

Ich habe ein TabControl mit mehreren Seiten. Auf einer Seite habe ich nur ein Etikett und ich möchte, dass es die Seite füllt und bei Bedarf scrollt. Obwohl es so aussieht, als ob jede Kombination aus Anker und Dock funktioniert, scrollt das Label nicht. Ich habe die AutoScroll-Eigenschaft der Seite auf true gesetzt, aber kein Glück. Ich habe Artikel über die Verwendung einer ScrollBar und die manuelle Bearbeitung von Scrolling gesehen, aber es scheint ein bisschen grob. Ist das wahr?.NET CF AutoScroll

Antwort

0

AutoScroll wird nur helfen, wenn die untergeordneten Steuerelemente einen Bereich überspannen, der größer ist als der vom TabControl bereitgestellte Speicherplatz. Daher wird es beim Andocken (die Größe wird durch den verfügbaren Platz eingeschränkt) nie groß genug, um die Bildlaufleisten zu zwingen, angezeigt zu werden.

Haben Sie darüber nachgedacht, stattdessen ein readonly-Textfeldsteuerelement zu verwenden? Wenn Sie dies auf DockStyle.Fill einstellen, sollte der gewünschte Effekt angezeigt werden, wobei eine Bildlaufleiste angezeigt wird, wenn der Text den verfügbaren Platz überschreitet.

Wenn Sie ein Label-Steuerelement verwenden möchten, müssen Sie es höchstwahrscheinlich manuell anpassen. Die following blog post von José Gallardo Salazar umreißt einen Ansatz, um zu bestimmen, wie viel Platz benötigt wird, um eine gegebene Textkette anzuzeigen (einschließlich etwaiger erforderlicher Wortumschläge usw.). Wenn das Label-Steuerelement größer als das TabControl wird, sollte die AutoScroll-Funktionalität automatisch funktionieren.

+0

Danke Chris, eine schreibgeschützte Textbox wäre wahrscheinlich besser. – Echilon