C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)

欢迎大家提出意见,一起讨论!

转载请标明是引用于 http://blog.csdn.net/chenyujing1234

需要源码请与我联系。

 

运行效果如下:

C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)_第1张图片

1、更改显选项卡的显示样式

1、1 关键技术:

用到了TabControl控件的ImageList属性和Appearance属性。

(1) ImageList属性

 此属性用来获取或设置在控件的选项卡上显示的图像,语法格式如下:

      

   //     获取或设置在控件的选项卡上显示的图像。
        //
        // 返回结果:
        //     System.Windows.Forms.ImageList,指定在选项卡上显示的图像。
        [DefaultValue("")]
        [RefreshProperties(RefreshProperties.Repaint)]
        public ImageList ImageList { get; set; }

(2) Appearance属性

此属性用来获取或设置控件选项卡的可视外观。

       //     获取或设置控件选项卡的可视外观。
        //
        // 返回结果:
        //     System.Windows.Forms.TabAppearance 值之一。默认为 Normal。
        //
        // 异常:
        //   System.ComponentModel.InvalidEnumArgumentException:
        //     属性值不是有效的 System.Windows.Forms.TabAppearance 值。
        [Localizable(true)]
        public TabAppearance Appearance { get; set; }


 Appearance枚举值及说明:

    // 摘要:
    //     指定选项卡控件中的选项卡外观。
    public enum TabAppearance
    {
        // 摘要:
        //     该选项卡具有选项卡的标准外观。
        Normal = 0,
        //
        // 摘要:
        //     选项卡具有三维按钮的外观。
        Buttons = 1,
        //
        // 摘要:
        //     选项卡具有平面按钮的外观。
        FlatButtons = 2,
    }

1、2  设计过程

1、2、1

在窗口中添加一个TabControl 控件,用来作为选项卡控件;

TabControl的Dock控制Page页面是否铺满窗口。如果选择Fill 则铺满整个窗口。

1、2、2

添加一个ImgeList组件,用来存储选项卡用到的图标。

为ImageList的Image 属性添加图片

C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)_第2张图片

 

因为TAB的宽会随着上面显示的文字的长度而变化,我们这个例子中的文字比较长,如果

窗口的长度不够时,就会出现下面的效果。所以要把窗口的长度拉大一点.

C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)_第3张图片

1、2、3 代码实现

   private void Form1_Load(object sender, EventArgs e)
        {
            tabControl1.ImageList = imageList1;//设置控件的ImageList属性为imageList1
            //第一个选项卡的图标是imageList1中索引为0的图标
            tabPage1.ImageIndex = 0;
            tabPage1.Text = "C#编程词典——全能版";//设置第一个选项卡标题
            //第二个选项卡的图标是imageList1中索引为0的图标
            tabPage2.ImageIndex = 0;
            tabPage2.Text = "C#编程词典——珍藏版";//设置第二个选项卡标题
            //将控件的Appearance属性设置为Buttons,使选项卡具有三维按钮的外观
            tabControl1.Appearance = TabAppearance.Buttons;
        }


 

2、 动态创建选项卡

C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)_第4张图片

2、1 关键技术

 用到了TabControl控件的TabPages属性的Add方法。

TabPages属性是用来获取选项卡控件中选项卡页的集合。

 TabPages属性的属性值是一个TabPageCollection对象,该对象包含TabPage对象的集合。

  //     获取该选项卡控件中选项卡页的集合。
        //
        // 返回结果:
        //     System.Windows.Forms.TabControl.TabPageCollection,它包含该 System.Windows.Forms.TabControl
        //     中的 System.Windows.Forms.TabPage 对象。
        [MergableProperty(false)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        [Editor("System.Windows.Forms.Design.TabPageCollectionEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof(UITypeEditor))]
        public TabControl.TabPageCollection TabPages { get; }


Add方法用来将选项卡添加到集合中

    //     将 System.Windows.Forms.TabPage 添加到集合。
            //
            // 参数:
            //   value:
            //     要添加的 System.Windows.Forms.TabPage。
            //
            // 异常:
            //   System.ArgumentNullException:
            //     指定的 value 为 null。
            public void Add(TabPage value);

2、2  设计过程

添加一个Button,用来执行添加选项卡操作

 private void button1_Click(object sender, EventArgs e)
        {
            //声明一个字符串变量,用于生成新增选项卡的名称
            string Title = "新增选项卡 " + (tabControl1.TabCount + 1).ToString();
            TabPage MyTabPage = new TabPage(Title);//创建TabPage对象
            //使用TabControl控件的TabPages 属性的Add方法添加新的选项卡
            tabControl1.TabPages.Add(MyTabPage);
            MessageBox.Show("现有" + tabControl1.TabCount + "个选项卡");//获取选项卡个数
        }


 

3、 获取选中的选项卡名称

C#入门学习-----选项卡(更改显示样式、动态添加/删除、获得名称)_第5张图片

通过获取选中选项卡名称我们可以知道选择的是哪个选项卡

为选项卡添加SelectedIndexChanged事件处理函数:

 private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
        {
            string P_str_TabName = tabControl1.SelectedTab.Text;//获取选择的选项卡名称
            MessageBox.Show("您选择的选项卡为:" + P_str_TabName, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//弹出信息提示
        }


4、删除指定的选项卡

TabControl控件的TabPages属性,其Remove方法用来从集合中移除TabPage对象。

添加一个按钮。处理如下:

  private void button2_Click(object sender, EventArgs e)
        {
            if (tabControl1.SelectedIndex == 0)//判断是否选择了要移除的选项卡
            {
                MessageBox.Show("请选择要移除的选项卡");//如果没有选择,弹出提示
            }
            else
            {
                //使用TabControl控件的TabPages属性的Remove方法移除指定的选项卡
                tabControl1.TabPages.Remove(tabControl1.SelectedTab);
            }
        }


 

 

 

 

你可能感兴趣的:(编程,object,String,C#,button,imagelist)