Freigeben über


TrackBar.Scroll-Ereignis

Tritt ein, wenn das Bildlauffeld durch eine Maus- oder Tastaturaktion bewegt wird.

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

Syntax

'Declaration
Public Event Scroll As EventHandler
'Usage
Dim instance As TrackBar
Dim handler As EventHandler

AddHandler instance.Scroll, handler
public event EventHandler Scroll
public:
event EventHandler^ Scroll {
    void add (EventHandler^ value);
    void remove (EventHandler^ value);
}
/** @event */
public void add_Scroll (EventHandler value)

/** @event */
public void remove_Scroll (EventHandler value)
JScript unterstützt die Verwendung von Ereignissen, aber nicht die Deklaration von neuen Ereignissen.

Hinweise

Weitere Informationen zur Behandlung von Ereignissen finden Sie unter Behandeln von Ereignissen.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie das Scroll-Ereignis implementiert wird, um erläuternde Beschriftungen in einem Formular je nach Bildlauf des Bildlauffelds auf der Trackleiste zu ändern. Im Beispiel ist ein Form erforderlich, auf dem drei Trackleisten und drei Beschriftungen platziert werden.

Private Sub showColorValueLabels()
    label1.Text = "Red value is : " & trackBar1.Value.ToString()
    label3.Text = "Green Value is : " & trackBar2.Value.ToString()
    label2.Text = "Blue Value is : " & trackBar3.Value.ToString()
End Sub

Private Sub trackBar_Scroll(ByVal sender As Object, ByVal e As System.EventArgs) Handles trackBar1.Scroll, trackBar2.Scroll, trackBar3.Scroll
    Dim myTB As System.Windows.Forms.TrackBar
    myTB = sender
    panel1.BackColor = Color.FromArgb(trackBar1.Value, trackBar2.Value, trackBar3.Value)
    myTB.Text = "Value is " & myTB.Value.ToString()
    showColorValueLabels()
End Sub
private void showColorValueLabels()
{
    label1.Text = "Red value is : " + trackBar1.Value.ToString();
    label3.Text = "Green Value is : " + trackBar2.Value.ToString();
    label2.Text = "Blue Value is : " + trackBar3.Value.ToString();
}
private void trackBar_Scroll(object sender, System.EventArgs e)
{
    System.Windows.Forms.TrackBar myTB;
    myTB = (System.Windows.Forms.TrackBar) sender ;
    panel1.BackColor = Color.FromArgb(trackBar1.Value,trackBar2.Value,trackBar3.Value);
    myTB.Text = "Value is " + myTB.Value.ToString();
    showColorValueLabels();
}
void showColorValueLabels()
{
   label1->Text = String::Format( "Red value is : {0}", trackBar1->Value );
   label3->Text = String::Format( "Green Value is : {0}", trackBar2->Value );
   label2->Text = String::Format( "Blue Value is : {0}", trackBar3->Value );
}

void trackBar_Scroll( Object^ sender, System::EventArgs^ /*e*/ )
{
   System::Windows::Forms::TrackBar^ myTB;
   myTB = dynamic_cast<System::Windows::Forms::TrackBar^>(sender);
   panel1->BackColor = Color::FromArgb( trackBar1->Value, trackBar2->Value, trackBar3->Value );
   myTB->Text = String::Format( "Value is {0}", myTB->Value );
   showColorValueLabels();
}
private void ShowColorValueLabels()
{
    label1.set_Text("Red value is : "
        + ((Int32)trackBar1.get_Value()).ToString());
    label3.set_Text("Green Value is : "
        + ((Int32)trackBar2.get_Value()).ToString());
    label2.set_Text("Blue Value is : "
        + ((Int32)trackBar3.get_Value()).ToString());
} //ShowColorValueLabels

private void trackBar_Scroll(Object sender, System.EventArgs e)
{
    System.Windows.Forms.TrackBar myTB;
    myTB = (System.Windows.Forms.TrackBar)sender;
    panel1.set_BackColor(Color.FromArgb(trackBar1.get_Value(),
        trackBar2.get_Value(), trackBar3.get_Value()));
    myTB.set_Text("Value is " + ((Int32)myTB.get_Value()).ToString());
    ShowColorValueLabels();
} //trackBar_Scroll

Im folgenden Codebeispiel wird ein Formular mit einem TrackBar-Steuerelement und einem TextBox-Steuerelement angezeigt. Im Beispiel wird das Festlegen der Eigenschaften Maximum, TickFrequency, LargeChange und SmallChange sowie das Behandeln des Scroll-Ereignisses veranschaulicht. Der Inhalt von TextBox wird auf den Value-Eigenschaftenwert aktualisiert, wenn das Scroll-Ereignis eintritt.

Imports System
Imports System.Drawing
Imports System.Windows.Forms

Public Class Form1
    Inherits System.Windows.Forms.Form

    Private WithEvents trackBar1 As System.Windows.Forms.TrackBar
    Private textBox1 As System.Windows.Forms.TextBox

    <System.STAThread()> _
    Public Shared Sub Main()
        System.Windows.Forms.Application.Run(New Form1)
    End Sub 'Main

    Public Sub New()
        Me.textBox1 = New System.Windows.Forms.TextBox
        Me.trackBar1 = New System.Windows.Forms.TrackBar

        ' TextBox for TrackBar.Value update.
        Me.textBox1.Location = New System.Drawing.Point(240, 16)
        Me.textBox1.Size = New System.Drawing.Size(48, 20)

        ' Set up how the form should be displayed and add the controls to the form.
        Me.ClientSize = New System.Drawing.Size(296, 62)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.textBox1, Me.trackBar1})
        Me.Text = "TrackBar Example"

        ' Set up the TrackBar.
        Me.trackBar1.Location = New System.Drawing.Point(8, 8)
        Me.trackBar1.Size = New System.Drawing.Size(224, 45)

        ' The Maximum property sets the value of the track bar when
        ' the slider is all the way to the right.
        trackBar1.Maximum = 30

        ' The TickFrequency property establishes how many positions
        ' are between each tick-mark.
        trackBar1.TickFrequency = 5

        ' The LargeChange property sets how many positions to move
        ' if the bar is clicked on either side of the slider.
        trackBar1.LargeChange = 3

        ' The SmallChange property sets how many positions to move
        ' if the keyboard arrows are used to move the slider.
        trackBar1.SmallChange = 2
    End Sub 'New

    Private Sub trackBar1_Scroll(ByVal sender As Object, _
                    ByVal e As System.EventArgs) Handles trackBar1.Scroll

        ' Display the trackbar value in the text box.
        textBox1.Text = trackBar1.Value
    End Sub 

End Class 'Form1
using System;
using System.Drawing;
using System.Windows.Forms;

public class Form1 : System.Windows.Forms.Form
{
    private System.Windows.Forms.TrackBar trackBar1;
    private System.Windows.Forms.TextBox textBox1;

    [STAThread]
    static void Main() 
    {
        Application.Run(new Form1());
    }

    public Form1()
    {
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.trackBar1 = new System.Windows.Forms.TrackBar();

        // TextBox for TrackBar.Value update.
        this.textBox1.Location = new System.Drawing.Point(240, 16);
        this.textBox1.Size = new System.Drawing.Size(48, 20);

        // Set up how the form should be displayed and add the controls to the form.
        this.ClientSize = new System.Drawing.Size(296, 62);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {this.textBox1,this.trackBar1});
        this.Text = "TrackBar Example";

        // Set up the TrackBar.
        this.trackBar1.Location = new System.Drawing.Point(8, 8);
        this.trackBar1.Size = new System.Drawing.Size(224, 45);
        this.trackBar1.Scroll += new System.EventHandler(this.trackBar1_Scroll);

        // The Maximum property sets the value of the track bar when
        // the slider is all the way to the right.
        trackBar1.Maximum = 30;
        
        // The TickFrequency property establishes how many positions
        // are between each tick-mark.
        trackBar1.TickFrequency = 5;

        // The LargeChange property sets how many positions to move
        // if the bar is clicked on either side of the slider.
        trackBar1.LargeChange = 3;

        // The SmallChange property sets how many positions to move
        // if the keyboard arrows are used to move the slider.
        trackBar1.SmallChange = 2;
    }


    private void trackBar1_Scroll(object sender, System.EventArgs e)
    {
        // Display the trackbar value in the text box.
        textBox1.Text = "" + trackBar1.Value;
    }
}
using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
public ref class Form1: public System::Windows::Forms::Form
{
private:
   System::Windows::Forms::TrackBar^ trackBar1;
   System::Windows::Forms::TextBox^ textBox1;

public:
   Form1()
   {
      this->textBox1 = gcnew System::Windows::Forms::TextBox;
      this->trackBar1 = gcnew System::Windows::Forms::TrackBar;
      
      // TextBox for TrackBar::Value update.
      this->textBox1->Location = System::Drawing::Point( 240, 16 );
      this->textBox1->Size = System::Drawing::Size( 48, 20 );
      
      // Set up how the form should be displayed and add the controls to the form.
      this->ClientSize = System::Drawing::Size( 296, 62 );
      array<System::Windows::Forms::Control^>^formControls = {this->textBox1,this->trackBar1};
      this->Controls->AddRange( formControls );
      this->Text = "TrackBar Example";
      
      // Set up the TrackBar.
      this->trackBar1->Location = System::Drawing::Point( 8, 8 );
      this->trackBar1->Size = System::Drawing::Size( 224, 45 );
      this->trackBar1->Scroll += gcnew System::EventHandler( this, &Form1::trackBar1_Scroll );
      
      // The Maximum property sets the value of the track bar when
      // the slider is all the way to the right.
      trackBar1->Maximum = 30;
      
      // The TickFrequency property establishes how many positions
      // are between each tick-mark.
      trackBar1->TickFrequency = 5;
      
      // The LargeChange property sets how many positions to move
      // if the bar is clicked on either side of the slider.
      trackBar1->LargeChange = 3;
      
      // The SmallChange property sets how many positions to move
      // if the keyboard arrows are used to move the slider.
      trackBar1->SmallChange = 2;
   }


private:
   void trackBar1_Scroll( Object^ /*sender*/, System::EventArgs^ /*e*/ )
   {
      
      // Display the trackbar value in the text box.
      textBox1->Text = String::Concat( "", trackBar1->Value );
   }

};


[STAThread]
int main()
{
   Application::Run( gcnew Form1 );
}
import System.*;
import System.Drawing.*;
import System.Windows.Forms.*;

public class Form1 extends System.Windows.Forms.Form
{
    private System.Windows.Forms.TrackBar trackBar1;
    private System.Windows.Forms.TextBox textBox1;

    /** @attribute STAThread()
     */
    public static void main(String[] args)
    {
        Application.Run(new Form1());
    } //main

    public Form1()
    {
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.trackBar1 = new System.Windows.Forms.TrackBar();
        // TextBox for TrackBar.Value update.
        this.textBox1.set_Location(new System.Drawing.Point(240, 16));
        this.textBox1.set_Size(new System.Drawing.Size(48, 20));
        // Set up how the form should be displayed and add the controls to the
        // form.
        this.set_ClientSize(new System.Drawing.Size(296, 62));
        this.get_Controls().AddRange(new System.Windows.Forms.Control[] { 
            this.textBox1, this.trackBar1 });
        this.set_Text("TrackBar Example");
        // Set up the TrackBar.
        this.trackBar1.set_Location(new System.Drawing.Point(8, 8));
        this.trackBar1.set_Size(new System.Drawing.Size(224, 45));
        this.trackBar1.add_Scroll(new System.EventHandler(this.trackBar1_Scroll));
        // The Maximum property sets the value of the track bar when
        // the slider is all the way to the right.
        trackBar1.set_Maximum(30);
        // The TickFrequency property establishes how many positions
        // are between each tick-mark.
        trackBar1.set_TickFrequency(5);
        // The LargeChange property sets how many positions to move
        // if the bar is clicked on either side of the slider.
        trackBar1.set_LargeChange(3);
        // The SmallChange property sets how many positions to move
        // if the keyboard arrows are used to move the slider.
        trackBar1.set_SmallChange(2);
    } //Form1

    private void trackBar1_Scroll(Object sender, System.EventArgs e)
    {
        // Display the trackbar value in the text box.
        textBox1.set_Text("" + trackBar1.get_Value());
    } //trackBar1_Scroll
} //Form1

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, 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

TrackBar-Klasse
TrackBar-Member
System.Windows.Forms-Namespace