ScrollableControl.AutoScrollMargin-Eigenschaft
Ruft die Größe des AutoBildlaufrandes ab oder legt diese fest.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
<LocalizableAttribute(True)> _
Public Property AutoScrollMargin As Size
'Usage
Dim instance As ScrollableControl
Dim value As Size
value = instance.AutoScrollMargin
instance.AutoScrollMargin = value
[LocalizableAttribute(true)]
public Size AutoScrollMargin { get; set; }
[LocalizableAttribute(true)]
public:
property Size AutoScrollMargin {
Size get ();
void set (Size value);
}
/** @property */
public Size get_AutoScrollMargin ()
/** @property */
public void set_AutoScrollMargin (Size value)
public function get AutoScrollMargin () : Size
public function set AutoScrollMargin (value : Size)
Eigenschaftenwert
Eine Size, die die Höhe und Breite des AutoBildlaufrands in Pixel darstellt.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der zugewiesene Height-Wert oder Width-Wert ist kleiner als 0 (null). |
Hinweise
Der AutoBildlaufrand ist der Zwischenraum zwischen einem beliebigen untergeordneten Steuerelement und den Rändern des bildlauffähigen übergeordneten Steuerelements. Die Größe des AutoScrollMargin wird zu der Größe eines beliebigen untergeordneten Steuerelements im bildlauffähigen Steuerelement addiert, um zu bestimmen, ob Bildlaufleisten erforderlich sind. Die AutoScrollMargin-Eigenschaft wird ausgewertet, wenn die Größe des übergeordneten bildlauffähigen Steuerelements geändert wird oder die einzelnen untergeordneten Steuerelemente in den sichtbaren Bereich verschoben werden. Diese Eigenschaft wird außerdem verwendet, um zu bestimmen, welche Bildlaufleisten angezeigt werden müssen. Angedockte Steuerelemente werden bei den Berechnungen nicht berücksichtigt, anhand derer bestimmt wird, ob Bildlaufleisten angezeigt werden müssen.
Hinweis
Wenn die Dock-Eigenschaft eines Steuerelements auf DockStyle.Fill festgelegt ist, füllt das Steuerelement das übergeordnete bildlauffähige Steuerelement aus, und das angedockte Steuerelement wird bei der Verwendung von AutoScrollMargin für die Bestimmung der erforderlichen Bildlaufleisten ignoriert.
Wenn der Abstand zwischen dem Rand eines untergeordneten Steuerelements und dem eines übergeordneten Steuerelements geringer ist als der der AutoScrollMargin-Eigenschaft zugewiesene Wert und die AutoScroll-Eigenschaft auf true festgelegt ist, wird die entsprechende Bildlaufleiste angezeigt.
Hinweis
Es wird empfohlen, für Steuerelemente, die innerhalb eines bildlauffähigen Steuerelements angedockt werden sollen, ein untergeordnetes bildlauffähiges Steuerelement wie Panel hinzuzufügen, das alle weiteren Steuerelemente aufnimmt, für die ein Bildlauf erforderlich sein kann. Sie müssen das untergeordnete Panel-Steuerelement dem bildlauffähigen Steuerelement hinzufügen, dessen Dock-Eigenschaft auf DockStyle.Fill und die AutoScroll-Eigenschaft auf true festlegen. Sie müssen die AutoScroll-Eigenschaft des übergeordneten bildlauffähigen Steuerelements auf false festlegen.
Beispiel
Im folgenden Codebeispiel wird die abgeleitete Klasse Panel verwendet. Im Beispiel wird die Position eines Textfelds ausgewertet und die Darstellung sowie das Verhalten des übergeordneten Containers, also des Auswahlbereich-Steuerelements, geändert. Für das Beispiel ist es erforderlich, dass Sie eine Instanz von einem Panel-Steuerelement, TextBox und Button erstellt haben. Platzieren Sie das Textfeld so im Auswahlbereich, dass dieses mindestens eine Seite des Bereichs überlappt. Rufen Sie diese Funktion durch Klicken auf eine Schaltfläche auf, um den Unterschied in Verhalten und Darstellung des Auswahlbereichs zu erkennen.
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
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);
}
}
}
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.get_Location().get_X() > panel1.get_Location().get_X()
|| text1.get_Location().get_Y() > panel1.get_Location().get_Y()) {
panel1.set_AutoScroll(true);
/* If the AutoScrollMargin is set to less
than (5,5), set it to 5,5. */
if (panel1.get_AutoScrollMargin().get_Width() < 5
|| panel1.get_AutoScrollMargin().get_Height() < 5) {
panel1.SetAutoScrollMargin(5, 5);
}
}
} //SetAutoScrollMargins
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0
Siehe auch
Referenz
ScrollableControl-Klasse
ScrollableControl-Member
System.Windows.Forms-Namespace
ScrollableControl.AutoScroll-Eigenschaft
SetAutoScrollMargin
AutoScrollPosition
AutoScrollMinSize
DisplayRectangle