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、LargeChange 和 SmallChange 属性以及如何处理 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