SplitContainer.OnSplitterMoved(SplitterEventArgs) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
引發 SplitterMoved 事件。
public:
void OnSplitterMoved(System::Windows::Forms::SplitterEventArgs ^ e);
public void OnSplitterMoved (System.Windows.Forms.SplitterEventArgs e);
member this.OnSplitterMoved : System.Windows.Forms.SplitterEventArgs -> unit
Public Sub OnSplitterMoved (e As SplitterEventArgs)
參數
SplitterEventArgs,其中包含事件資料。
範例
下列程式碼範例會在 SplitterMoving 移動分割器時,以游標樣式的變更來表示此範例中的 事件。 SplitterMoved當您停止移動分隔器時,就會引發 事件。 這表示此範例中,資料指標樣式會還原為預設值。
#using <System.Data.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>
#using <System.Drawing.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Collections;
using namespace System::ComponentModel;
using namespace System::Windows::Forms;
using namespace System::Data;
public ref class Form1: public System::Windows::Forms::Form
{
private:
System::Windows::Forms::SplitContainer^ splitContainer1;
public:
// Create an empty Windows form.
Form1()
{
InitializeComponent();
}
private:
void InitializeComponent()
{
splitContainer1 = gcnew System::Windows::Forms::SplitContainer;
splitContainer1->SuspendLayout();
SuspendLayout();
// Place a basic SplitContainer control onto Form1.
splitContainer1->Dock = System::Windows::Forms::DockStyle::Fill;
splitContainer1->Location = System::Drawing::Point( 0, 0 );
splitContainer1->Name = "splitContainer1";
splitContainer1->Size = System::Drawing::Size( 292, 273 );
splitContainer1->SplitterDistance = 52;
splitContainer1->SplitterWidth = 6;
splitContainer1->TabIndex = 0;
splitContainer1->Text = "splitContainer1";
// Add the event handler for the SplitterMoved event.
splitContainer1->SplitterMoved += gcnew System::Windows::Forms::SplitterEventHandler( this, &Form1::splitContainer1_SplitterMoved );
// Add the event handler for the SplitterMoving event.
splitContainer1->SplitterMoving += gcnew System::Windows::Forms::SplitterCancelEventHandler( this, &Form1::splitContainer1_SplitterMoving );
// This is the left panel of the vertical SplitContainer control.
splitContainer1->Panel1->Name = "splitterPanel1";
// This is the right panel of the vertical SplitContainer control.
splitContainer1->Panel2->Name = "splitterPanel2";
// Lay out the basic properties of the form.
ClientSize = System::Drawing::Size( 292, 273 );
Controls->Add( splitContainer1 );
Name = "Form1";
Text = "Form1";
splitContainer1->ResumeLayout( false );
ResumeLayout( false );
}
void splitContainer1_SplitterMoved( System::Object^ /*sender*/, System::Windows::Forms::SplitterEventArgs^ /*e*/ )
{
// Define what happens when the splitter is no longer moving.
::Cursor::Current = System::Windows::Forms::Cursors::Default;
}
void splitContainer1_SplitterMoving( System::Object^ /*sender*/, System::Windows::Forms::SplitterCancelEventArgs ^ /*e*/ )
{
// Define what happens while the splitter is moving.
::Cursor::Current = System::Windows::Forms::Cursors::NoMoveVert;
}
};
[STAThread]
int main()
{
Application::Run( gcnew Form1 );
}
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.SplitContainer splitContainer1;
// Create an empty Windows form.
public Form1()
{
InitializeComponent();
}
private void InitializeComponent()
{
splitContainer1 = new System.Windows.Forms.SplitContainer();
splitContainer1.SuspendLayout();
SuspendLayout();
// Place a basic SplitContainer control onto Form1.
splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
splitContainer1.Location = new System.Drawing.Point(0, 0);
splitContainer1.Name = "splitContainer1";
splitContainer1.Size = new System.Drawing.Size(292, 273);
splitContainer1.SplitterDistance = 52;
splitContainer1.SplitterWidth = 6;
splitContainer1.TabIndex = 0;
splitContainer1.Text = "splitContainer1";
// Add the event handler for the SplitterMoved event.
splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(splitContainer1_SplitterMoved);
// Add the event handler for the SplitterMoving event.
splitContainer1.SplitterMoving += new System.Windows.Forms.SplitterCancelEventHandler(splitContainer1_SplitterMoving);
// This is the left panel of the vertical SplitContainer control.
splitContainer1.Panel1.Name = "splitterPanel1";
// This is the right panel of the vertical SplitContainer control.
splitContainer1.Panel2.Name = "splitterPanel2";
// Lay out the basic properties of the form.
ClientSize = new System.Drawing.Size(292, 273);
Controls.Add(splitContainer1);
Name = "Form1";
Text = "Form1";
splitContainer1.ResumeLayout(false);
ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void splitContainer1_SplitterMoved(System.Object sender, System.Windows.Forms.SplitterEventArgs e)
{
// Define what happens when the splitter is no longer moving.
Cursor.Current=System.Windows.Forms.Cursors.Default;
}
private void splitContainer1_SplitterMoving(System.Object sender, System.Windows.Forms.SplitterCancelEventArgs e)
{
// Define what happens while the splitter is moving.
Cursor.Current=System.Windows.Forms.Cursors.NoMoveVert;
}
}
' Compile this example using the following command line:
' vbc splitcontainerevents.vb /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:System.dll /r:System.Data.dll
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
' Create an empty Windows form.
Public Class Form1
Inherits System.Windows.Forms.Form
' This is the event handler for the SplitterMoving and SplitterMoved events.
Private WithEvents SplitContainer1 As System.Windows.Forms.SplitContainer
Public Sub New()
InitializeComponent()
End Sub
Private Sub InitializeComponent()
SplitContainer1 = New System.Windows.Forms.SplitContainer
SplitContainer1.SuspendLayout()
SuspendLayout()
' Place a basic SplitContainer control onto Form1.
SplitContainer1.Dock = System.Windows.Forms.DockStyle.Fill
SplitContainer1.Location = New System.Drawing.Point(0, 0)
SplitContainer1.Name = "SplitContainer1"
SplitContainer1.Size = New System.Drawing.Size(292, 273)
SplitContainer1.SplitterDistance = 39
SplitContainer1.SplitterWidth = 6
SplitContainer1.TabIndex = 0
SplitContainer1.Text = "SplitContainer1"
' This is the left panel of the vertical SplitContainer control.
SplitContainer1.Panel1.Name = "SplitterPanel1"
' This is the right panel of the vertical SplitContainer control.
SplitContainer1.Panel2.Name = "SplitterPanel2"
' Lay out the basic properties of the form.
ClientSize = New System.Drawing.Size(292, 273)
Controls.Add(SplitContainer1)
Name = "Form1"
Text = "Form1"
SplitContainer1.ResumeLayout(False)
ResumeLayout(False)
End Sub
<STAThread()> _
Shared Sub Main()
Application.Run(New Form1())
End Sub
Private Sub SplitContainer1_SplitterMoving(ByVal sender As Object, ByVal e As System.Windows.Forms.SplitterCancelEventArgs) Handles SplitContainer1.SplitterMoving
' Define what happens while the splitter is moving.
Cursor.Current = System.Windows.Forms.Cursors.NoMoveVert
End Sub
Private Sub SplitContainer1_SplitterMoved(ByVal sender As Object, ByVal e As System.Windows.Forms.SplitterEventArgs) Handles SplitContainer1.SplitterMoved
' Define what happens when the splitter is no longer moving.
Cursor.Current = System.Windows.Forms.Cursors.Default
End Sub
End Class
備註
事件 SplitterMoved 會在移動分割器之後引發。 SplitContainer當 正在移動時,請使用 SplitterMoving 事件和 OnSplitterMoving 事件處理常式。
引發事件會透過委派叫用此事件處理常式。 如需詳細資訊,請參閱 處理和引發事件。