SplitContainer.OnSplitterMoving(SplitterCancelEventArgs) SplitContainer.OnSplitterMoving(SplitterCancelEventArgs) SplitContainer.OnSplitterMoving(SplitterCancelEventArgs) SplitContainer.OnSplitterMoving(SplitterCancelEventArgs) Method

定义

引发 SplitterMoving 事件。Raises the SplitterMoving event.

public:
 void OnSplitterMoving(System::Windows::Forms::SplitterCancelEventArgs ^ e);
public void OnSplitterMoving (System.Windows.Forms.SplitterCancelEventArgs e);
member this.OnSplitterMoving : System.Windows.Forms.SplitterCancelEventArgs -> unit
Public Sub OnSplitterMoving (e As SplitterCancelEventArgs)

参数

示例

下面的代码示例引发SplitterMoving事件,在此示例中,在移动拆分器时更改了游标样式。The following code example raises the SplitterMoving event, signified in this example by a change to the cursor style when you move the splitter. 停止移动拆分器时,将引发事件。SplitterMovedThe SplitterMoved event is raised when you stop moving the splitter. 在此示例中,游标样式将还原为默认值。This is signified in this example by the cursor style reverting to the default.

#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

注解

拆分器正在移动时,引发事件。SplitterMovingThe SplitterMoving event is raised while the splitter is in the process of moving. 移动后,请SplitterMoved使用事件和OnSplitterMoved事件处理程序。 SplitContainerAfter the SplitContainer has moved, use the SplitterMoved event and the OnSplitterMoved event handler.

引发事件时,将通过委托调用事件处理程序。Raising an event invokes the event handler through a delegate. 有关详细信息, 请参阅处理和引发事件For more information, see Handling and Raising Events.

适用于

另请参阅