SplitContainer 控件详细用法(转)

1.可以将 Windows 窗体 SplitContainer 控件看作是一个复合体,它是由一个可移动的拆分条分隔的两个面板。当鼠标指针悬停在该拆分条上时,指针将相应地改变形状以显示该拆分条是可移动的。

使用 SplitContainer 控件,可以创建复合的用户界面(通常,在一个面板中的选择决定了在另一个面板中显示哪些对象)。这种排列对于显示和浏览信息非常有用。拥有两个面板使您可以聚合不同区域中的信息,并且用户可以轻松地使用拆分条(也称为“拆分器”)调整面板的大小。

另外,还可以嵌套多个 SplitContainer 控件,并且第二个 SplitContainer 控件可以水平放置,从而产生上面板和下面板。

请注意,SplitContainer 控件默认情况下可通过键盘来访问。如果 IsSplitterFixed 属性设置为 false,用户可以按箭头键来移动拆分器。

SplitContainer 控件的 orientation 属性决定拆分器的方向,而不是决定控件本身的方向。因此,当该属性设置为 Vertical 时,拆分器将垂直放置,从而产生左面板和右面板。

此外,还应注意 SplitterRectangle 属性的值是随 orientation 属性的值变化的。有关更多信息,请参见 SplitterRectangle 属性。

还可以限制 SplitContainer 控件的大小和移动。FixedPanel 属性决定调整 SplitContainer 控件大小后,哪个面板将保持原来的大小,IsSplitterFixed 属性则决定是否可以通过键盘或鼠标来移动拆分器。

常用属性、方法和事件

FixedPanel 属性

    * 确定调整 SplitContainer 控件大小后,哪个面板将保持原来的大小。

IsSplitterFixed 属性

    * 确定是否可以使用键盘或鼠标来移动拆分器。

orientation 属性

    * 确定拆分器是垂直放置还是水平放置。

SplitterDistance 属性

    * 确定从左边缘或上边缘到可移动拆分条的距离(以像素为单位)。

SplitterIncrement 属性

    * 确定用户可以移动拆分器的最短距离(以像素为单位)。

SplitterWidth 属性

    * 确定拆分器的厚度(以像素为单位)。

SplitterMoving 事件

    * 拆分器移动时发生。

SplitterMoved 事件

    * 拆分器移动后发生。

  2.如何:定义拆分窗口中的大小调整和定位行为

用户可以轻松调整 SplitContainer 控件面板的大小并对其执行各种操作。但是,有时您可能要以编程方式控制拆分器放置的位置以及可以移动的程度。

利用 SplitContainer 控件上的 SplitterIncrement 属性和其他属性,您可以根据自己的需要精确控制用户界面的行为。下表列出了这些属性。

IsSplitterFixed 属性

    * 确定拆分器是否可以通过键盘或鼠标进行移动。

SplitterDistance 属性

    * 确定从左边缘或上边缘到可移动拆分条的距离(以像素为单位)。

SplitterIncrement 属性

    * 确定用户可以移动拆分器的最短距离(以像素为单位)。

  下面的示例修改了 SplitterIncrement 属性,以创建“对齐拆分器”效果;在用户拖动拆分器时,它会以 10 个像素(而非默认的 1 个像素)为单位进行递增。

定义 SplitContainer 调整大小行为
在过程中,将 SplitterIncrement 属性设置为所需大小,以实现拆分器的“对齐”行为。

在下面的代码示例中,在窗体的 Load 事件中将 SplitContainer 控件中的拆分器设置为拖动时跳过 10 个像素。

C#
private void Form1_Load(System.Object sender, System.EventArgs e)
{
SplitContainer splitSnapper = new SplitContainer();
splitSnapper.SplitterIncrement = 10;
splitSnapper.Dock = DockStyle.Fill;
splitSnapper.Parent = this;
}
(Visual C#) 在窗体的构造函数中放置以下代码以注册事件处理程序。

C#
this.Load += new System.EventHandler(this.Form1_Load);

3.如何:水平拆分窗口水平拆分窗口
在程序中,将 SplitContainer 控件的 orientation 属性设置为 Horizontal。

C#
public void showSplitContainer()
{
SplitContainer splitContainer1 = new SplitContainer ();
splitContainer1.BorderStyle = BorderStyle.Fixed3D;
splitContainer1.Location = new System.Drawing.Point (74, 20);
splitContainer1.Name = "DemoSplitContainer";
splitContainer1.Size = new System.Drawing.Size (212, 435);
splitContainer1.TabIndex = 0;
splitContainer1.Orientation = orientation.Horizontal;
this.Controls.Add (splitContainer1);

}

4.如何:用 Windows 窗体创建多窗格用户界面在下面的过程中,将创建一个类似于在 Microsoft Outlook 中使用的多窗格用户界面,该界面中包含“文件夹列表”、“邮件”窗格和“预览”窗格。这种排列主要是通过在窗体上停靠控件实现的。在停靠控件时,可以确定控件要紧靠父容器的哪个边缘。这样,如果将 Dock 属性设置为 Right,控件的右边缘将停靠在它的父控件的右边缘。此外,控件停靠边缘的大小将调整为与它的容器控件的大小匹配。有关 Dock 属性工作方式的更多信息,请参见如何:在 Windows 窗体上停靠控件。该过程的重点是在窗体上排列 SplitContainer 和其他控件,而不是添加功能以使得应用程序类似于 Microsoft Outlook。若要创建该用户界面,请将所有控件放到 SplitContainer 控件(其左侧面板中包含 TreeView 控件)中。SplitContainer 控件的右侧面板中包含另一个 SplitContainer 控件,其中 ListView 控件在 RichTextBox 控件上方。这些 SplitContainer 控件支持在窗体上分别调整其他控件的大小。可以改编此过程中的方法,制作出您自己的自定义用户界面。以编程方式创建 Outlook 样式的用户界面在窗体内,声明组成用户界面的每个控件。本示例使用 TreeView、ListView、SplitContainer 和 RichTextBox 控件来创建类似于 Microsoft Outlook 的用户界面。

C#
private System.Windows.Forms.TreeView treeView1;
private System.Windows.Forms.ListView listView1;
private System.Windows.Forms.RichTextBox richTextBox1;
private System.Windows.Forms. SplitContainer splitContainer2;
private System.Windows.Forms. SplitContainer splitContainer1;

创建定义用户界面的过程。下面的代码设置属性,以使窗体类似于 Microsoft Outlook 的用户界面。但是,通过使用其他控件或使它们停靠在不同的位置,一样可以轻松创建同样灵活的其他用户界面。
C#
public void  createOutlookUI()
{
// Create an instance of each control being used.
treeView1 = new System.Windows.Forms.TreeView();
listView1 = new System.Windows.Forms.ListView();
richTextBox1 = new System.Windows.Forms.RichTextBox();
splitContainer2 = new System.Windows.Forms.SplitContainer();
splitContainer1 = new System.Windows.Forms.SplitContainer();

// Insert code here to hook up event methods.

// Set properties of TreeView control.
treeView1.Dock = System.Windows.Forms.DockStyle.Fill;
treeView1.TabIndex = 0;
treeView1.Nodes.Add("treeView");

// Set properties of ListView control.
listView1.Dock = System.Windows.Forms.DockStyle.Top;
listView1.TabIndex = 2;
listView1.Items.Add("listView");

// Set properties of RichTextBox control.
richTextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
richTextBox1.TabIndex = 3;
richTextBox1.Text = "richTextBox1";

// Set properties of first SplitContainer control.
splitContainer1.Dock = System.Windows.Forms.DockStyle.Fil1;
splitContainer2.TabIndex = 1;
splitContainer2.SplitterWidth = 4;
splitContainer2.SplitterDistance = 150;
splitContainer2.Orientation = orientation.Horizontal;
splitContainer2.Panel1.Controls.Add(this.listView1);
splitContainer2.Panel1.Controls.Add(this.richTextBox1);

// Set properties of second SplitContainer control.
splitContainer2.Dock = System.Windows.Forms.DockStyle.Fil1;
splitContainer2.TabIndex = 4;
splitContainer2.SplitterWidth = 4;
splitContainer2.SplitterDistance = 100;
splitContainer2.Panel1.Controls.Add(this.treeView1);
splitContainer2.Panel1.Controls.Add(this.splitContainer1);

// Add the main SplitContainer control to the form.
this.Controls.Add(this.splitContainer2);
this.Text = "Intricate UI Example";
}
在 Visual Basic 中,添加对在 New() 过程中刚创建的过程的调用。在 Visual C# 中,将这行代码添加到窗体类的构造函数。

SplitContainer 控件详细用法(转),布布扣,bubuko.com

时间: 2024-10-01 19:07:24

SplitContainer 控件详细用法(转)的相关文章

C#使用splitContainer控件制作收缩展开面板

C#使用splitContainer控件制作收缩展开面板 原创 2011年07月19日 17:18:02 标签: c# / object / 扩展 / 测试 15690 最近对Squid Ink公司的一款PC端软件系统上的一个收缩伸展面板很感兴趣,加上自己做的喷码机数据管理系统的界面非常单调,想在现在界面的基础上将这个功能加上去.我个人只是写c#的一个菜鸟,在网上查了C#的很多控件,很多人都是用GroupBox和SplitContainer实现的,于是就对这两个控件进行了测试.附Squid In

更新 Victor 串口控件详细说明 / Victor 串口控件 / C++ Builder 串口控件 / VCL 串口控件 / FMX 串口控件 / Firemonkey 串口控件 / BCB 串口控件

Victor 串口控件详细说明 类/函数 头文件 说明 TYbCommDevice Vcl.YbCommDevice.hFmx.YbCommDevice.h 串口控件 TVictorComm Vcl.VictorComm.hFmx.VictorComm.h 多线程的串口类 TCommQueue Vcl.VictorComm.hFmx.VictorComm.h 串口数据队列 (串口 FIFO 缓存) EVictorCommError Vcl.VictorComm.hFmx.VictorComm.h

WPF从我炫系列4---装饰控件的用法

这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollViewer滚动条控件 大家知道在WPF中的一些布局控件中是不带滚动条的,如果里面的内容控件超过了外面布局控件的大小,就不能完全被显示出来,这个时候我们就可以使用滚动条控件,让它滚动显示. 效果图: 默认情况下ScrollViewer是显示垂直滚动条的.但是可以通过属性来控制滚动条的显示. Horizont

JxBrowser Java浏览器控件详细介绍

JxBrowser能在Windows.Linux.Mac OS X (Intel and PPC-based)平台上将Mozilla Firefox浏览器完美地整合到Java AWT/Swing应用程序里.该库程序使用Gecko设计引擎来转换HTML文档.因而保证了它能与许多Internet标准(如HTML 4.CSS.XML.JavaScript以及其它)兼容. 主要功能 用来将HTML浏览程序内置到AWT/Swing用户界面上的可视浏览器控件 使用Gecko 1.9/Firefox 3代码库

HTML5统计图表amCharts JavaScript 统计图控件详细介绍

amCharts控件提供您最需要的JavaScript/HTML5图表.一套包括串行(列,栏,线,区,步线,平滑线,烛台,OHLC图),馅饼 /甜甜圈,雷达/极性和XY /分散/气泡图.amCharts的图表提供了无与伦比的功能和性能,在一个高级的,符合标准的包里. 支持所有高级浏览器 amCharts的JavaScript图表支持所有高级浏览器(包括但不限于)现代火狐,Chrome,Safari,Opera和Internet Explorer的版本.它的iPad,iPhone,iPod Tou

一步一步学ios UITextView(多行文本框)控件的用法详解(五5.8)

本文转载至 http://wuchaorang.2008.blog.163.com/blog/static/48891852201232014813990/ 1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp] view plaincopy #import <UIKit/UIKit.h> @interface TextViewController : UIViewController <UITextViewDelegate> { UITe

VintaSoft Barcode.NET SDK专业的条形码读写控件详细介绍

VintaSoftBarcode.NET SDK是专业的.NET条形码阅读器和条码生成器控件,可以嵌入到你软件开发中.它可以读写数字图形和PDF中的的一维和二维条码控件. VintaSoftBarcode.NET SDK有三个不同的版本:标准版,标准+ WPF版或Silverlight版. 功能和特征 开发环境:NET Framework 2.0或更高版本,WPF 3.5或更高版本的Silverlight4.0.纯.NET托管代码, 速度更快.可生成条码图像和矢量格式的条形码可指定条形码图像的大

JxBrowser Java浏览器控件详细介绍及下载

JxBrowser能在Windows.Linux.Mac OS X (Intel and PPC-based)平台上将Mozilla Firefox浏览器完美地整合到Java AWT/Swing应用程序里.该库程序使用Gecko设计引擎来转换HTML文档.因而保证了它能与许多Internet标准(如HTML 4.CSS.XML.JavaScript以及其它)兼容. 主要功能 用来将HTML浏览程序内置到AWT/Swing用户界面上的可视浏览器控件 使用Gecko 1.9/Firefox 3代码库

Java Me-List控件的用法案例

/** * Java Me-List控件的用法案例 */package com.xushouwei.cn; import java.io.IOException;import javax.microedition.lcdui.Choice;import javax.microedition.lcdui.Command;import javax.microedition.lcdui.CommandListener;import javax.microedition.lcdui.Display;im