ScrollBar.OnScroll 메서드
Scroll 이벤트를 발생시킵니다.
네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)
구문
‘선언
Protected Overridable Sub OnScroll ( _
se As ScrollEventArgs _
)
‘사용 방법
Dim se As ScrollEventArgs
Me.OnScroll(se)
protected virtual void OnScroll (
ScrollEventArgs se
)
protected:
virtual void OnScroll (
ScrollEventArgs^ se
)
protected void OnScroll (
ScrollEventArgs se
)
protected function OnScroll (
se : ScrollEventArgs
)
매개 변수
- se
이벤트 데이터가 들어 있는 ScrollEventArgs입니다.
설명
이벤트를 발생시키면 대리자를 통해 이벤트 처리기가 호출됩니다. 자세한 내용은 이벤트 발생시키기를 참조하십시오.
또한 OnScroll 메서드를 사용하면 파생 클래스가 대리자를 연결하지 않고도 이벤트를 처리할 수 있습니다. 이는 파생 클래스에서 이벤트를 처리하는 기본 방법입니다.
상속자 참고 사항 파생 클래스에서 OnScroll를 재정의하는 경우 등록된 대리자가 이벤트를 받도록 기본 클래스의 OnScroll 메서드를 호출해야 합니다.
예제
다음 코드 예제에서는 파생 클래스인 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
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;
}
}
void AddMyScrollEventHandlers()
{
// Create and initialize a VScrollBar.
VScrollBar^ vScrollBar1 = gcnew VScrollBar;
// Add event handlers for the OnScroll and OnValueChanged events.
vScrollBar1->Scroll += gcnew ScrollEventHandler( this, &Form1::vScrollBar1_Scroll );
vScrollBar1->ValueChanged += gcnew 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( "vScrollBar Value:(OnValueChanged Event) {0}", 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( "VScrollBar Value:(OnScroll Event) {0}", 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;
}
}
private void AddMyScrollEventHandlers()
{
// Create and initialize a VScrollBar.
VScrollBar vScrollBar1 = new VScrollBar();
// Add event handlers for the OnScroll and OnValueChanged events.
vScrollBar1.add_Scroll(
new ScrollEventHandler(this.vScrollBar1_Scroll));
vScrollBar1.add_ValueChanged(
new EventHandler(this.vScrollBar1_ValueChanged));
} //AddMyScrollEventHandlers
// Create the ValueChanged event handler.
private void vScrollBar1_ValueChanged(Object sender, EventArgs e)
{
// Display the new value in the label.
label1.set_Text("vScrollBar Value:(OnValueChanged Event) "
+ vScrollBar1.get_Value());
} //vScrollBar1_ValueChanged
// Create the Scroll event handler.
private void vScrollBar1_Scroll(Object sender, ScrollEventArgs e)
{
// Display the new value in the label.
label1.set_Text(
"VScrollBar Value:(OnScroll Event) " + e.get_NewValue());
} //vScrollBar1_Scroll
private void button1_Click(Object sender, EventArgs e)
{
// Add 40 to the Value property if it will not exceed the Maximum
// value.
if (vScrollBar1.get_Value() + 40 < vScrollBar1.get_Maximum()) {
vScrollBar1.set_Value(vScrollBar1.get_Value() + 40);
}
} //button1_Click
플랫폼
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, 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에서 지원
참고 항목
참조
ScrollBar 클래스
ScrollBar 멤버
System.Windows.Forms 네임스페이스
Scroll
ScrollEventArgs