2015年10月27日 星期二

TabControl:如何讓TabPage顯示或隱藏

TabControl:如何讓TabPage顯示或隱藏
因為TabPage沒有 Visible property可以直接設定,所以依靠谷大哥才找到這個方法…

例題說明:畫面右邊有3個RadioButton,左邊有一個TabControl;依RadioButton的選擇,切換TabPage 且其它項目應隱藏。



作法說明:
1. 先設定一開始要顯示的部份:

        public FrmSystemManage()
        {
            InitializeComponent();
            this.tabPage1.Parent = null;//隱藏
            this.tabPage2.Parent = null;//隱藏
            this.tabPage3.Parent = this.tabControl2;//顯示
        }

2. 點了第一個radio button,改顯示另一個TabPage

        private void radioButton1_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton rb1 = sender as RadioButton;
            if (rb1.Checked)
            {
                this.tabPage1.Parent = this.tabControl2;//顯示
                this.tabPage2.Parent = null;//隱藏
                this.tabPage3.Parent = null;//隱藏
            }
        }

3. 點了第二個radio button,改顯示另一個TabPage

        private void radioButton2_CheckedChanged(object sender, EventArgs e)
        {
            RadioButton rb2 = sender as RadioButton;
            if (rb2.Checked)
            {
                this.tabPage1.Parent = null;//隱藏
                this.tabPage2.Parent = this.tabControl2;//顯示
                this.tabPage3.Parent = null;//隱藏
            }
        }

當然網路上還有一些其它的做法,比如用第三方的元件或是用Remove and Add的方法,但是用起來好像都沒有上述的方法簡單好用。
Remove and Add的方法:
TabControl.Remove(TabPage); //Remove a tab page
TabControl.Add(TabPage); //Add a tab page
TabControl.Insert(2, TabPage); //Insert a tab page at specific location

沒有留言:

張貼留言