SplitContainer.SplitterMoving 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当拆分器控件正处在移动过程中发生。
public:
event System::Windows::Forms::SplitterCancelEventHandler ^ SplitterMoving;
public event System.Windows.Forms.SplitterCancelEventHandler SplitterMoving;
public event System.Windows.Forms.SplitterCancelEventHandler? SplitterMoving;
member this.SplitterMoving : System.Windows.Forms.SplitterCancelEventHandler
Public Custom Event SplitterMoving As SplitterCancelEventHandler
事件类型
示例
下面的代码示例引发 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
注解
仅当用户移动拆分器控件时,才会发生此事件。 以编程方式更改 SplitterDistance 属性值时不会发生这种情况。
有关处理事件的详细信息,请参阅 处理和引发事件。