次の方法で共有


ScrollBar.Scroll イベント

マウス操作またはキー操作によってスクロール ボックスが移動すると発生します。

Public Event Scroll As ScrollEventHandler
[C#]
public event ScrollEventHandler Scroll;
[C++]
public: __event ScrollEventHandler* Scroll;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、ScrollEventArgs 型の引数を受け取りました。次の ScrollEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
NewValue スクロール バーの新しい Value を取得または設定します。
Type 発生したスクロール イベントの種類を取得します。

解説

イベント処理の詳細については、「 イベントの利用 」を参照してください。

使用例

[Visual Basic, C#, C++] 派生クラス VScrollBar を使用する例を次に示します。 Scroll イベントと ValueChanged イベントのイベント ハンドラが作成されます。このコードは、 Label および Button がフォーム上で作成されていること、およびボタンに Click イベントのイベント ハンドラがあることを前提にしています。ボタンがクリックされると、スクロール バーの Value プロパティがコードで調整されます。ラベルには Value プロパティの現在の値とそのプロパティを変更したイベントが表示されます。スクロール値がボタンの Click イベントで変更されると、 ValueChanged イベントだけを発生させます。反対に、スクロール バーが手動でスクロールされると、 ValueChanged イベントの直後に Scroll イベントを発生させます。

 
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


[C#] 
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;
    }
 }
 

[C++] 
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, 
       &Form1::vScrollBar1_Scroll);
    vScrollBar1->ValueChanged += new 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( S"vScrollBar Value:(OnValueChanged Event) {0}",
         __box(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( S"VScrollBar Value:(OnScroll Event) {0}",
         __box(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;
    }
 }
 

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

ScrollBar クラス | ScrollBar メンバ | System.Windows.Forms 名前空間 | OnScroll | ScrollEventHandler