欢迎大家提出意见,一起讨论!
转载请标明是引用于 http://blog.csdn.net/chenyujing1234
需要源码请与我联系。
运行效果如下:
用到了TabControl控件的ImageList属性和Appearance属性。
此属性用来获取或设置在控件的选项卡上显示的图像,语法格式如下:
// 获取或设置在控件的选项卡上显示的图像。 // // 返回结果: // System.Windows.Forms.ImageList,指定在选项卡上显示的图像。 [DefaultValue("")] [RefreshProperties(RefreshProperties.Repaint)] public ImageList ImageList { get; set; }
此属性用来获取或设置控件选项卡的可视外观。
// 获取或设置控件选项卡的可视外观。 // // 返回结果: // 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
在窗口中添加一个TabControl 控件,用来作为选项卡控件;
TabControl的Dock控制Page页面是否铺满窗口。如果选择Fill 则铺满整个窗口。
1、2、2
添加一个ImgeList组件,用来存储选项卡用到的图标。
为ImageList的Image 属性添加图片
因为TAB的宽会随着上面显示的文字的长度而变化,我们这个例子中的文字比较长,如果
窗口的长度不够时,就会出现下面的效果。所以要把窗口的长度拉大一点.
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; }
用到了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);
添加一个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 + "个选项卡");//获取选项卡个数 }
通过获取选中选项卡名称我们可以知道选择的是哪个选项卡
为选项卡添加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);//弹出信息提示 }
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); } }