TabControl

本文介绍TabControl的基本操作,包括选项卡的判断、设置、添加、删除、禁用及外观更改等,并提供示例代码。
  • 判断选中的选项卡(TabPage)

    (1)用TabControl 的SelectedTab属性

    if(tabControl1.SelectedTab == tabPage2)

    (2)用TabControl 的SelectedIndex 属性

    if(tabControl1.SelectedTab == 1)

    设置当前选项卡(TabPage)

    (1)用SelectTab 方法

    将指定的选项卡(TabPage)设置为当前的选择卡(TabPage)。

    重载形式如下:

    TabControl.SelectTab (Int32)使具有指定索引的选项卡成为当前选项卡。

    TabControl.SelectTab (String)使具有指定名称的选项卡成为当前选项卡。

    TabControl.SelectTab (TabPage)使指定的 TabPage 成为当前选项卡。

    (2)DeselectTab 方法

    将指定的选项卡(TabPage)后面的选项卡成为当前选项卡 (TabPage)。

    重载形式如下:

    TabControl.DeselectTab (Int32)使具有指定索引的选项卡后面的选项卡成为当前选项卡。

    TabControl.DeselectTab (String)使具有特定名称的选项卡后面的选项卡成为当前选项卡。

    TabControl.DeselectTab (TabPage)使指定的 TabPage 后面的选项卡成为当前选项卡。

    TabControl 变更事件

    在 TabControl 中的当前选项卡发生更改时,将按以下顺序发生下列事件。

    • Deselecting
    • Deselected
    • Selecting
    • Selected

    (1)Deselecting 事件

    在取消选择某个选项卡(TabPage)之前发生,使处理程序能够取消选项卡(TabPage)更改。

    (2)Deselected 事件

    当取消选择选项卡(TabPage)时发生。

    (3)Selecting 事件

    在取消选择某个选项卡(TabPage)之前发生,使处理程序能够取消选项卡(TabPage)更改。

    (4)Selected 事件

    当选择某个选项卡(TabPage)时发生。

    private void TabControl1_Selected(Object sender, TabControlEventArgs e)

    {
    System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
    messageBoxCS.AppendFormat("{0} = {1}", "TabPage", e.TabPage );
    messageBoxCS.AppendLine();
    messageBoxCS.AppendFormat("{0} = {1}", "TabPageIndex", e.TabPageIndex );
    messageBoxCS.AppendLine();
    messageBoxCS.AppendFormat("{0} = {1}", "Action", e.Action );
    messageBoxCS.AppendLine();
    MessageBox.Show(messageBoxCS.ToString(), "Selected Event" );
    }

    (5)SelectedIndexChanged 事件

    SelectedIndex 属性更改时发生。

    private void TabControl1_SelectedIndexChanged(Object sender, EventArgs e)

    {
    MessageBox.Show("You are in the TabControl.SelectedIndexChanged event.");
    }

    添加、删除 选项卡(TabPage)

    (1)添加

    可以通过 TabPages 属性的 Add 方法动态的添加TabPage。

    string title = "TabPage " + (tabControl1.TabCount + 1).ToString();
    TabPage myTabPage = new TabPage(title);
    tabControl1.TabPages.Add(myTabPage);

    (2)删除

    动态的删除一个TabPage,可以用 TabPages 属性的 Remove 方法。删除所有TabPage,用 TabPages 属性的 Clear 方法

    // 删除选中的选项卡
    tabControl1.TabPages.Remove(tabControl1.SelectedTab);
    //删除全部选项卡
    tabControl1.TabPages.Clear();

    禁用选项卡(TabPage)

    添加TabControl 控件的SelectedIndexChanged 事件(用户从一个选项卡(TabPage)切换到另一个选项卡(TabPage)时引发的事件)。在该事件中检查是否满足条件,如果满足则将该选项卡(TabPage)的Enabled 属性设置为 false。

    //如果选择了CredentialCheck则显示tabPage2,否则弹出错误窗口,显示tabPage3

    private void tabControl1_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    // Check Credentials Here
    if ((CredentialCheck.Checked = true) & (tabControl1.SelectedTab == tabPage2))
    {
    tabControl1.SelectedTab = tabPage2;
    }
    else if ((CredentialCheck.Checked = false) & (tabControl1.SelectedTab == tabPage2))
    {

    tabControl1.tabPage2.Enabled=false;

    MessageBox.Show("Unable to load tab. You have insufficient access privileges.");
    tabControl1.SelectedTab = tabPage3;
    }
    }

    更改 TabControl 的外观

    通过使用 TabControl 控件和组成控件上各选项卡的 TabPage 对象的属性,可以更改 Windows 窗体中选项卡的外观。通过设置这些属性,可使用编程方式在选项卡上显示图像,以垂直方式而非水平方式显示选项卡,显示多行选项卡,以及启用或禁用选项卡。

    (1)在选项卡的标签部位显示图标

    A.向窗体添加 ImageList 控件。

    B.将图像添加到图像列表中。

    ImageList 组件添加或移除图像

    以编程方式添加图像

    public void addImage()
    {
    // Be sure that you use an appropriate escape sequence (such as the @) when specifying the location of the file.
    System.Drawing.Image myImage =
    Image.FromFile
    (System.Environment.GetFolderPath
    (System.Environment.SpecialFolder.Personal)
    + @"/Image.gif");
    imageList1.Images.Add(myImage);
    }

    以编程方式移除所有图像

    可以使用 Remove 方法移除单个图像
    可以使用 Clear 方法清除图像列表中的所有图像。
    //Removes the first image in the image list
    ImageList1.Images.Remove(myImage)
    //Clears all images in the image list
    ImageList1.Images.Clear()

    C.将 TabControl 控件的 ImageList 属性设置为 ImageList 控件。

    D.将 TabPage 的 ImageIndex 属性设置为列表中的相应图像的索引。

    (2)创建多行选项卡

    1. 添加所需的选项卡页的数量。
    2. 将 TabControl 的 Multiline 属性设置为 true。
    3. 如果选项卡尚未以多行方式显示,则设置 TabControl 的 Width 属性,使其比所有的选项卡都窄。

    (3)在控件一侧排列选项卡

    将 TabControl 的 Alignment 属性设置为 Left 或 Right。

    (4)以编程方式启用或禁用选项卡

    将 TabPage 的 Enabled 属性设置为 true 或 false。
    tabPage1.Enabled = false;

    (5)将选项卡显示为按钮

    将 TabControl 的 Appearance 属性设置为 Buttons 或 FlatButtons。

TabControl是一种常用的用户界面控件,广泛应用于Windows应用程序开发中。它允许开发者在应用程序中创建多个选项卡,每个选项卡可以包含不同的内容或控件,从而有效地组织和展示信息。 以下是TabControl的一些主要特点和用途: 1. **多选项卡管理**:TabControl允许用户在多个选项卡之间切换,每个选项卡可以包含不同的内容。这对于需要在有限空间内展示大量信息的情况非常有用。 2. **组织和分类**:通过将相关的内容分组到同一个选项卡下,TabControl可以帮助用户更轻松地找到所需信息。 3. **自定义外观**:开发者可以自定义TabControl的外观,包括选项卡的样式、颜色和字体等,以适应应用程序的整体设计。 4. **事件处理**:TabControl支持多种事件,如选项卡切换事件(SelectedIndexChanged),开发者可以在这些事件中编写代码以响应用户操作。 ### 使用示例 以下是一个简单的C#示例,展示了如何在Windows Forms应用程序中使用TabControl: ```csharp using System; using System.Windows.Forms; public class TabControlExample : Form { private TabControl tabControl; public TabControlExample() { tabControl = new TabControl(); tabControl.Location = new System.Drawing.Point(10, 10); tabControl.Size = new System.Drawing.Size(300, 200); TabPage tabPage1 = new TabPage("Tab 1"); TabPage tabPage2 = new TabPage("Tab 2"); tabPage1.Controls.Add(new Label() { Text = "内容 1", Location = new System.Drawing.Point(10, 10) }); tabPage2.Controls.Add(new Label() { Text = "内容 2", Location = new System.Drawing.Point(10, 10) }); tabControl.TabPages.Add(tabPage1); tabControl.TabPages.Add(tabPage2); this.Controls.Add(tabControl); this.Text = "TabControl 示例"; this.Size = new System.Drawing.Size(330, 240); } [STAThread] public static void Main() { Application.EnableVisualStyles(); Application.Run(new TabControlExample()); } } ``` ### TabControl的主要属性和方法 - **TabPages**:获取TabControl中的所有选项卡。 - **SelectedIndex**:获取或设置当前选中的选项卡的索引。 - **SelectedTab**:获取或设置当前选中的选项卡。 ### 事件 - **SelectedIndexChanged**:当选中的选项卡发生变化时触发。
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值