ScrollableControl.AutoScroll Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee haalt u een waarde op die aangeeft of de container de gebruiker in staat stelt om naar besturingselementen buiten de zichtbare grenzen te schuiven.
public:
virtual property bool AutoScroll { bool get(); void set(bool value); };
public virtual bool AutoScroll { get; set; }
member this.AutoScroll : bool with get, set
Public Overridable Property AutoScroll As Boolean
Waarde van eigenschap
true als de container automatisch schuiven mogelijk maakt; anders, false. De standaardwaarde is false.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe horizontale en/of verticale schuifbalken automatisch worden opgegeven wanneer de AutoScroll eigenschap is ingesteld trueop . Voer de volgende stappen uit om het voorbeeld uit te voeren:
Maak een nieuwe Windows Forms-toepassing.
Voeg een Panel toe aan het formulier.
Voeg een TextBox aan het deelvenster toe en geef het een
text1naam.Verplaats het tekstvak zodat het rechterdeel zich buiten de rechterrand van het deelvenster bevindt.
U ziet alleen een overzicht van het gedeelte van het tekstvak dat zich buiten de grenzen van het deelvenster bevindt. Als het hele tekstvak zichtbaar is, bevindt het tekstvak zich in het formulier en niet in het deelvenster.
Voeg een Button toe aan het formulier.
Voeg een handler toe voor de
Clickgebeurtenis van de knop.Voeg de volgende voorbeeldcode toe en roep deze aan vanuit de handler van
Clickde knop.
Wanneer u het voorbeeld uitvoert, kunt u alleen het deel van het tekstvak zien dat zich binnen de grenzen van het deelvenster bevindt. Wanneer u op de knop klikt, wordt er een horizontale schuifbalk weergegeven waarmee u de rest van het tekstvak kunt zien.
Als u een deel van het tekstvak onder de onderkant van het deelvenster plaatst, ziet u een verticale schuifbalk wanneer u op de knop klikt.
Met de voorbeeldcode wordt gecontroleerd of het tekstvak zich buiten de grenzen van het deelvenster bevindt voordat de AutoScroll eigenschap truewordt ingesteld op en voordat de AutoScrollMargin eigenschap wordt ingesteld. Deze controle buiten de grenzen is niet vereist. Als AutoScroll dit is ingesteld true, worden er geen schuifbalken weergegeven wanneer het tekstvak volledig binnen het deelvenster staat. U kunt de marges ook op de standaardinstellingen van 0,0 laten staan.
void SetAutoScrollMargins()
{
/* If the text box is outside the panel's bounds,
turn on auto-scrolling and set the margin. */
if ( text1->Location.X > panel1->Location.X || text1->Location.Y > panel1->Location.Y )
{
panel1->AutoScroll = true;
/* If the AutoScrollMargin is set to less
than (5,5), set it to 5,5. */
if ( panel1->AutoScrollMargin.Width < 5 || panel1->AutoScrollMargin.Height < 5 )
{
panel1->SetAutoScrollMargin( 5, 5 );
}
}
}
private void SetAutoScrollMargins()
{
/* If the text box is outside the panel's bounds,
turn on auto-scrolling and set the margin. */
if (text1.Location.X > panel1.Location.X ||
text1.Location.Y > panel1.Location.Y)
{
panel1.AutoScroll = true;
/* If the AutoScrollMargin is set to less
than (5,5), set it to 5,5. */
if( panel1.AutoScrollMargin.Width < 5 ||
panel1.AutoScrollMargin.Height < 5)
{
panel1.SetAutoScrollMargin(5, 5);
}
}
}
Private Sub SetAutoScrollMargins()
' If the text box is outside the panel's bounds,
' turn on auto-scrolling and set the margin.
If (text1.Location.X > panel1.Location.X) Or _
(text1.Location.Y > panel1.Location.Y) Then
panel1.AutoScroll = True
' If the AutoScrollMargin is set to less
' than (5,5), set it to 5,5.
If (panel1.AutoScrollMargin.Width < 5) Or _
(panel1.AutoScrollMargin.Height < 5) Then
panel1.SetAutoScrollMargin(5, 5)
End If
End If
End Sub
Opmerkingen
Wanneer true, kan de container met deze eigenschap een virtuele grootte hebben die groter is dan de zichtbare grenzen.
Note
In Windows Forms wanneer een onderliggend besturingselement aan de rechterkant of onderkant is verankerd (Control bevat Right of Bottom), gedraagt de container zich alsof AutoScroll is ingesteld op false.
Er is momenteel een beperking in Windows Forms die voorkomt dat alle klassen die zijn afgeleid van ScrollableControl correct handelen wanneer beide RightToLeft zijn ingeschakeld en AutoScroll is ingesteld op true. Stel bijvoorbeeld dat u een besturingselement Panel zoals - of een containerklasse die is afgeleid van Panel (zoals FlowLayoutPanel of TableLayoutPanel) - op uw formulier plaatst. Als u de container instelt op AutoScroll en vervolgens de eigenschap true instelt op een of meer controlelementen in de container, wordt er nooit een schuifbalk weergegeven. De klasse die is afgeleid van ScrollableControl fungeert alsof AutoScroll deze is ingesteld op false. Momenteel is de enige tijdelijke oplossing om ScrollableControl te nesten in een andere ScrollableControl. Als u bijvoorbeeld wilt dat TableLayoutPanel in deze situatie werkt, kunt u het in een Panel besturingselement plaatsen en AutoScroll instellen op Panel naar true.
Note
AutoScroll behoudt automatisch de zichtbaarheid van de schuifbalken. Daarom heeft het instellen van de HScroll eigenschap of VScrolltrue eigenschap geen effect wanneer AutoScroll deze is ingeschakeld.