使用英语阅读

通过


SplitContainer.SplitterMoving 事件

定义

当拆分器控件正处在移动过程中发生。

public event System.Windows.Forms.SplitterCancelEventHandler SplitterMoving;
public event System.Windows.Forms.SplitterCancelEventHandler? SplitterMoving;

事件类型

示例

下面的代码示例引发 SplitterMoving 事件,在此示例中表示在移动拆分器时对光标样式的更改。 停止 SplitterMoved 移动拆分器时,将引发 该事件。 在此示例中,光标样式恢复为默认值表示这一点。

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;
    }
}

注解

仅当用户移动拆分器控件时,才会发生此事件。 以编程方式更改 SplitterDistance 属性值时不会发生这种情况。

有关处理事件的详细信息,请参阅 处理和引发事件

适用于

产品 版本
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

另请参阅