Freigeben über


ScrollBar.OnScroll-Methode

Löst das Scroll-Ereignis aus.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Protected Overridable Sub OnScroll ( _
    se As ScrollEventArgs _
)
'Usage
Dim se As ScrollEventArgs

Me.OnScroll(se)
protected virtual void OnScroll (
    ScrollEventArgs se
)
protected:
virtual void OnScroll (
    ScrollEventArgs^ se
)
protected void OnScroll (
    ScrollEventArgs se
)
protected function OnScroll (
    se : ScrollEventArgs
)

Parameter

Hinweise

Durch das Auslösen eines Ereignisses wird der Ereignishandler über einen Delegaten aufgerufen. Weitere Informationen finden Sie unter Auslösen eines Ereignisses.

Die OnScroll-Methode ermöglicht es auch abgeleiteten Klassen, das Ereignis ohne Anfügen eines Delegaten zu behandeln. Dies ist das bevorzugte Verfahren für die Behandlung des Ereignisses in einer abgeleiteten Klasse.

Hinweise für Erben Wenn Sie OnScroll in einer abgeleiteten Klasse überschreiben, müssen Sie unbedingt die OnScroll-Methode der Basisklasse aufrufen, sodass registrierte Delegaten das Ereignis empfangen.

Beispiel

Im folgenden Codebeispiel wird die abgeleitete Klasse VScrollBar verwendet. Es werden Ereignishandler für das Scroll-Ereignis und das ValueChanged-Ereignis erstellt. In diesem Code wird davon ausgegangen, dass in einem Formular ein Label und ein Button erstellt wurden und die Schaltfläche über einen Ereignishandler für das Click-Ereignis verfügt. Beim Klicken auf die Schaltfläche wird die Value-Eigenschaft der Bildlaufleiste im Code angepasst. In der Bezeichnung werden der aktuelle Wert der Value-Eigenschaft und das Ereignis angezeigt, durch das diese geändert wurde. Wenn der Bildlaufwert durch das Click-Ereignis der Schaltfläche geändert wird, löst dies nur das ValueChanged-Ereignis aus. Im Gegensatz dazu wird beim manuellen Verschieben der Bildlaufleiste das Scroll-Ereignis direkt nach dem ValueChanged-Ereignis ausgelöst.

Private Sub AddMyScrollEventHandlers()
    ' Create and initialize a VScrollBar.
    Dim vScrollBar1 As New VScrollBar()
    
    ' Add event handlers for the OnScroll and OnValueChanged events.
    AddHandler vScrollBar1.Scroll, AddressOf Me.vScrollBar1_Scroll
    AddHandler vScrollBar1.ValueChanged, AddressOf Me.vScrollBar1_ValueChanged
End Sub    

' Create the ValueChanged event handler.
Private Sub vScrollBar1_ValueChanged(sender As Object, e As EventArgs)
    ' Display the new value in the label.
    label1.Text = "vScrollBar Value:(OnValueChanged Event) " & _
        vScrollBar1.Value.ToString()
End Sub    

' Create the Scroll event handler.
Private Sub vScrollBar1_Scroll(sender As Object, e As ScrollEventArgs)
    ' Display the new value in the label.
    label1.Text = "VScrollBar Value:(OnScroll Event) " & _
        e.NewValue.ToString()
End Sub    

Private Sub button1_Click(sender As Object, e As EventArgs)
    ' Add 40 to the Value property if it will not exceed the Maximum value.
    If vScrollBar1.Value + 40 < vScrollBar1.Maximum Then
        vScrollBar1.Value = vScrollBar1.Value + 40
    End If
End Sub
private void AddMyScrollEventHandlers()
 {
    // Create and initialize a VScrollBar.
    VScrollBar vScrollBar1 = new VScrollBar();
 
    // Add event handlers for the OnScroll and OnValueChanged events.
    vScrollBar1.Scroll += new ScrollEventHandler(
       this.vScrollBar1_Scroll);
    vScrollBar1.ValueChanged += new EventHandler(
       this.vScrollBar1_ValueChanged); 
 }
 
 // Create the ValueChanged event handler.
 private void vScrollBar1_ValueChanged(Object sender, 
                                       EventArgs e)
 {
     // Display the new value in the label.
     label1.Text = "vScrollBar Value:(OnValueChanged Event) " + vScrollBar1.Value.ToString();
 }
 
 // Create the Scroll event handler.
 private void vScrollBar1_Scroll(Object sender, 
                                 ScrollEventArgs e)
 {
     // Display the new value in the label.
     label1.Text = "VScrollBar Value:(OnScroll Event) " + e.NewValue.ToString();
 }
 
 private void button1_Click(Object sender, 
                           EventArgs e)
 {
    // Add 40 to the Value property if it will not exceed the Maximum value.
    if (vScrollBar1.Value + 40 < vScrollBar1.Maximum)
    {
        vScrollBar1.Value = vScrollBar1.Value + 40;
    }
 }
 
void AddMyScrollEventHandlers()
{
   // Create and initialize a VScrollBar.
   VScrollBar^ vScrollBar1 = gcnew VScrollBar;

   // Add event handlers for the OnScroll and OnValueChanged events.
   vScrollBar1->Scroll += gcnew ScrollEventHandler( this, &Form1::vScrollBar1_Scroll );
   vScrollBar1->ValueChanged += gcnew EventHandler( this, &Form1::vScrollBar1_ValueChanged );
}

// Create the ValueChanged event handler.
void vScrollBar1_ValueChanged( Object^ /*sender*/, EventArgs^ /*e*/ )
{
   // Display the new value in the label.
   label1->Text = String::Format( "vScrollBar Value:(OnValueChanged Event) {0}", vScrollBar1->Value );
}

// Create the Scroll event handler.
void vScrollBar1_Scroll( Object^ /*sender*/, ScrollEventArgs^ e )
{
   // Display the new value in the label.
   label1->Text = String::Format( "VScrollBar Value:(OnScroll Event) {0}", e->NewValue );
}

void button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
   // Add 40 to the Value property if it will not exceed the Maximum value.
   if ( vScrollBar1->Value + 40 < vScrollBar1->Maximum )
   {
      vScrollBar1->Value = vScrollBar1->Value + 40;
   }
}
private void AddMyScrollEventHandlers()
{
    // Create and initialize a VScrollBar.
    VScrollBar vScrollBar1 = new VScrollBar();

    // Add event handlers for the OnScroll and OnValueChanged events.
    vScrollBar1.add_Scroll(
        new ScrollEventHandler(this.vScrollBar1_Scroll));
    vScrollBar1.add_ValueChanged(
        new EventHandler(this.vScrollBar1_ValueChanged));
} //AddMyScrollEventHandlers

// Create the ValueChanged event handler.
private void vScrollBar1_ValueChanged(Object sender, EventArgs e)
{
    // Display the new value in the label.
    label1.set_Text("vScrollBar Value:(OnValueChanged Event) " 
        + vScrollBar1.get_Value());
} //vScrollBar1_ValueChanged

// Create the Scroll event handler.
private void vScrollBar1_Scroll(Object sender, ScrollEventArgs e)
{
    // Display the new value in the label.
    label1.set_Text(
        "VScrollBar Value:(OnScroll Event) " + e.get_NewValue());
} //vScrollBar1_Scroll

private void button1_Click(Object sender, EventArgs e)
{
    // Add 40 to the Value property if it will not exceed the Maximum 
    // value.
    if (vScrollBar1.get_Value() + 40 < vScrollBar1.get_Maximum()) {
        vScrollBar1.set_Value(vScrollBar1.get_Value() + 40);
    }
} //button1_Click

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

Siehe auch

Referenz

ScrollBar-Klasse
ScrollBar-Member
System.Windows.Forms-Namespace
Scroll
ScrollEventArgs