欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C# TabControl控件中TabPage選項(xiàng)卡切換時(shí)的觸發(fā)事件問題

 更新時(shí)間:2023年04月21日 14:30:56   作者:程序猿_liter  
這篇文章主要介紹了C# TabControl控件中TabPage選項(xiàng)卡切換時(shí)的觸發(fā)事件問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

TabControl控件中TabPage選項(xiàng)卡切換時(shí)的觸發(fā)事件

選項(xiàng)卡切換觸發(fā)的是TabControl控件的SelectedIndexChanged事件。

當(dāng)TabControl控件的任何一個(gè)TabPage被點(diǎn)擊或選擇,即發(fā)生SelectedIndexChanged事件事件。

代碼如下:

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)
       {
            if (tabControl1.SelectedIndex == 0)//也可以判斷tabControl1.SelectedTab.Text的值
            {
                //執(zhí)行相應(yīng)的操作
                tabPageSubject.Parent = tabControlExtract;//顯示
            }
            else if (tabControl1.SelectedIndex == 1)
            {
                //執(zhí)行相應(yīng)的操作
                tabPageSubject.Parent = null;   //隱藏選項(xiàng)卡tabPageSubject
            }
        }

C#選項(xiàng)卡TabControl控件隱藏執(zhí)行選項(xiàng)卡的方式

如下圖窗體:

如果我們想要隱藏tabPage1的話,我們該怎么做。

首先,tabControl控件由若干個(gè)tabPage成員組成。而這些tabPage成員的屬性中并沒有visable屬性來控制它是否隱藏,那么怎么來實(shí)現(xiàn)隱藏呢?

首先,打開From的代碼生成器:

翻到最下面我們可以看到如下幾行代碼。

這說明了tabPage實(shí)際上是個(gè)類。那么我們便可以正對具體的tabPage1/tabPage2/tabPage3進(jìn)行操作。選項(xiàng)卡隱藏一般不會再tabControl上。

查看TabPage類的定義如下:

從上面的定義我們看了,有一個(gè)Visible的屬性。也許和選項(xiàng)卡的隱藏有關(guān)。雖然Visible官方說明此成員對控件無意義。

但是經(jīng)過探索,發(fā)現(xiàn)他還是可以用的如下:

我們在tabPage1放一個(gè)Button控件便于觀察。

將隱藏和顯示兩個(gè)按鈕編寫Click時(shí)間如下:

經(jīng)過試驗(yàn)可知,Visble屬性還是有效果的,只不過效果與我們想要的不太一樣。

當(dāng)點(diǎn)擊隱藏按鈕時(shí)如下:Button依靠的容器消失了。但是tabPage選項(xiàng)卡還在?。?!

當(dāng)我們點(diǎn)擊顯示按鈕時(shí)如下:Button與其依符的容器又顯示出來了?。?!

那么有沒有其他辦法呢?

綜合網(wǎng)上諸多的辦法,有一種比較方便就是利用TabPage類中的Parent屬性設(shè)置TabPage成員依靠的父類容器即可。

具體實(shí)現(xiàn)如下:

利用Parent屬性能夠?qū)崿F(xiàn)選項(xiàng)卡隱藏與顯示。

狀態(tài)如下:

那么為什么設(shè)置Parent屬性就能夠?qū)崿F(xiàn)隱藏呢?

經(jīng)過追蹤發(fā)現(xiàn)TabPage的Parent屬性實(shí)際在繼承鏈中的Control類中。

換言之Parent是Control類的屬性。TabPage類是繼承Control類的。而Parent屬性的解釋如下:

Parent屬性是控件的父容器?;旧厦總€(gè)控件都有個(gè)父容器。這是他們的依附的區(qū)域。如果父容器為空的話,控件必然無法依附,自然也就不能顯示出來了。

窗體From是沒有Parent父容器屬性的,因?yàn)樗亲畹讓拥娜萜鳎。。?/p>

由于每個(gè)控件都有Parent,同理我們可以通過Parent屬性來控制任意控件的顯示與否。

如下,我們可以通過設(shè)置“顯示”按鈕的Parent屬性來設(shè)置隱藏。

如下:

當(dāng)隱藏按鈕按下的時(shí)候就設(shè)置顯示按鈕的父容器為空。

下面試驗(yàn)一下:

如下,設(shè)置成功!!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論