使用tabcontrol控件

 

《C#入门经典(第4版》第15章Windows编程基础,本章介绍了创建Windows应用程序时最常用的一些控件,并讨论了如何使用它们创建简单而强大的用户界面。还论述了这些控件的属性和事件,给出了使用它们的示例,解释了如何为控件的特定事件添加处理程序。本小节为大家介绍的是使用TabControl控件。

AD:

15.9.2  使用TabControl控件

TabControl的工作方式与前面的控件有一些区别。这个控件只不过是用于显示页面的标签页的容器。在工具箱中双击TabControl时,就会显示一个已添加了两个TabPage的控件,如图15-23所示。

把鼠标移动到该控件的上面,在控件的右上角就会出现一个带三角形的小按钮。单击这个按钮,就会打开一个小窗口,即Actions窗口,用于访问选中控件的属性和方法。Visual Studio中的许多控件都有这个特性,但TabControl是本章第一个允许在Actions窗口中执行某些操作的控件。TabControl的Actions窗口可以方便地在设计期间添加和删除TabPages。


使用tabcontrol控件_第1张图片 
图  15-23

上面给TabControl添加标签页的过程可以让用户很快使用和运行该控件。另一方面,如果要改变标签的操作方式或样式,就应使用TabPages对话框,在选择Properties面板上的TabPages时,可以通过按钮访问该对话框。TabPages属性也是用于访问TabControl控件上各个页面的集合。

添加了需要的TabPages后,就可以给页面添加控件了,其方式与前面的GroupBox相同。下面创建一个示例,说明该控件的基本内容。

试试看:使用标签页

按照下面的步骤创建一个Windows应用程序,说明如何把控件放在标签控件的不同页面上:

(1) 在C:\BegVCSharp\Chapter15目录下创建一个新的Windows应用程序TabControl。

(2) 把一个TabControl控件从工具箱拖放到窗体上。与GroupBox一样,TabControl在工具箱的Containers选项卡中。

(3) 找到TabPages属性,选择它后,单击它右边的按钮,打开如图15-24所示的对话框。


使用tabcontrol控件_第2张图片 
图  15-24

(4) 把标签页的Text属性分别改为Tab One和Tab Two。单击OK,关闭该对话框。

(5) 单击控件顶部的标签,选择要处理的选项卡。选择标有Tab One的选项卡。在控件上拖放一个按钮。确保把该按钮放在TabControl 的框架中。如果把它放在框架的外部,则该按钮就会放在窗体上,而不是标签控件上。

(6) 将按钮的名称改为buttonShowMessage,将其Text属性改为Show Message。

(7) 单击Text 属性为Tab Two的标签,把一个文本框控件拖放到TabControl上。把这个控件命名为textBoxMessage,并清除Text属性。

(8) 这两个标签应如图15-25和15-26所示。


使用tabcontrol控件_第3张图片 
图  15-25
使用tabcontrol控件_第4张图片 
图  15-26

示例的说明

在标签页上访问一个控件,与访问窗体上的其他控件是一样的。获取文本框的Text属性,在消息框中显示它。

在本章的前面,我们介绍了在窗体中一次只能选择一个单选按钮(除非把它们放在组框中)。TabPages与组框的工作方式完全相同,所以可以在不同的选项卡上放置多组单选按钮,而不需要使用组框。如buttonShowMessage_Click方法所示,还可以访问位于其他选项卡上的控件。

要能处理标签控件,最后要注意的是如何确定当前显示的是哪个选项卡。这可以使用两个属性:SelectedTab和SelectedIndex,顾名思义,SelectedTab返回TabPage对象,如果没有选择标签,就返回null。而SelectedIndex返回标签的索引,如果没有选择标签,就返回-1。练习题(2)将使用这些属性。

添加事件处理程序

下面准备访问控件。如果运行代码,就会看到选项卡正确显示出来了。为了说明标签控件的用法,剩下要做的工作是添加一些代码,在用户单击一个选项卡上的Show Message按钮时,在另一个标签页中输入的文本将显示在消息框中。首先,双击第一个选项卡上的按钮,为Click事件添加一个处理程序,再添加下述代码:

private void buttonShowMessage_Click(object sender, EventArgs e)
{
// Access the TextBox.

 

MessageBox.Show(this.textBoxMessage.Text);
}

 

 

转载于:https://www.cnblogs.com/sophia1909/archive/2011/12/09/2281631.html

你可能感兴趣的:(c#)