TrackBar.Scroll Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда мышью или клавиатурой вызывается перемещение ползунка.
public:
event EventHandler ^ Scroll;
public event EventHandler Scroll;
public event EventHandler? Scroll;
member this.Scroll : EventHandler
Public Custom Event Scroll As EventHandler
Тип события
Примеры
В следующем примере кода показано, как реализовать Scroll событие для изменения меток сведений в форме на основе прокрутки поля прокрутки на полосе дорожки. В этом примере требуется объект Form с тремя полосами дорожки и тремя метками.
void showColorValueLabels()
{
label1->Text = String::Format( "Red value is : {0}", trackBar1->Value );
label2->Text = String::Format( "Green Value is : {0}", trackBar2->Value );
label3->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.Text = "Red value is : " + trackBar1.Value.ToString();
label2.Text = "Green Value is : " + trackBar2.Value.ToString();
label3.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();
}
Private Sub showColorValueLabels()
_label1.Text = "Red value is : " & trackBar1.Value.ToString()
_label2.Text = "Green Value is : " & trackBar2.Value.ToString()
_label3.Text = "Blue Value is : " & trackBar3.Value.ToString()
End Sub
Private Sub trackBar_Scroll(ByVal sender As Object, ByVal e As 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
В следующем примере кода отображается форма, содержащая TrackBar элемент управления и TextBox элемент управления . В примере показано задание Maximumсвойств , TickFrequency, LargeChangeи SmallChange и обработка Scroll события. Содержимое TextBox обновляется до Value значения свойства при возникновении Scroll события.
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 );
}
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;
}
}
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
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
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
Комментарии
Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.