다음을 통해 공유


TrackBar.Scroll 이벤트

마우스나 키보드 조작을 통해 스크롤 상자가 이동될 때 발생합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Event Scroll As EventHandler
‘사용 방법
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에서는 이벤트를 사용할 수 있지만 새로 선언할 수는 없습니다.

설명

이벤트 처리에 대한 자세한 내용은 이벤트 사용을 참조하십시오.

예제

다음 코드 예제에서는 Scroll 이벤트를 구현하여 트랙 표시줄의 스크롤 상자 스크롤에 따라 폼에 있는 정보 레이블을 수정하는 방법을 보여 줍니다. 이 예제에서는 Form에 세 개의 트랙 표시줄과 세 개의 레이블이 있어야 합니다.

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

다음 코드 예제에서는 TrackBar 컨트롤 및 TextBox 컨트롤이 들어 있는 폼을 표시합니다. 다음 예제에서는 Maximum, TickFrequency, LargeChangeSmallChange 속성을 설정하고 Scroll 이벤트를 설정하는 방법을 보여 줍니다. Scroll 이벤트가 발생할 때 TextBox 내용이 Value 속성 값으로 업데이트됩니다.

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

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

TrackBar 클래스
TrackBar 멤버
System.Windows.Forms 네임스페이스