【C#】标签页

标签页与《【C#】向导式窗体》(点击打开链接)一样,是一个能够极大地节省窗体空间的神器。而且来到C#中,不像VC6中的《【mfc】标签页》(点击打开链接)复杂。

下面用如下一个极其简单的窗体,说明C#标签页,也就是TabControl控件怎么使用。

在窗体程序一开始,输出有多少个标签页,之后每切换一次标签页,都会在日志信息下的TextBox有所输出。

【C#】标签页_第1张图片

窗体布局如下,实质上,那个日志信息输出框就是一个简简单单的多行TextBox而已~

【C#】标签页_第2张图片

唯一需要注意的是,TabControl这个容器编辑的时候,需要时刻注意自己是修改单一标签页,还是改变整个标签页控件。

【C#】标签页_第3张图片

布局弄完之后,具体代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace tabControl_test
{
    public partial class Form1 : Form
    {
        public void out_log(Object log)//自定义的日志输出方法,这里设置为Object意为接受所有参数
        {
            if (textBox1.GetLineFromCharIndex(textBox1.Text.Length) > 3)
            {
                //如果textbox中的文本行数大于3行,则清空
                textBox1.Text = "";
            }
            textBox1.AppendText(DateTime.Now.ToString("HH:mm") + " " + log + "\r\n");
        }

        public Form1()
        {
            InitializeComponent();
            out_log("共" + tabControl1.TabCount + "个标签页");
        }

        private void button1_Click(object sender, EventArgs e)
        {
            tabControl1.SelectTab(1);//切到第1个标签页
        }

        private void button2_Click(object sender, EventArgs e)
        {
            tabControl1.SelectTab(0);//切到第0个标签页
        }

        private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)//标签切换时触发
        {
            out_log("切到标签页" + tabControl1.SelectedIndex);
        }
    }
}

上述代码完成了一个tabControl标签页改变事件的使用,代码切换标签页,统计用多少个标签页的过程。基本这样就够用了。

你可能感兴趣的:(C#,标签页,textbox,窗体,tabcontrol)