溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C#多標(biāo)簽的實(shí)現(xiàn)方法

發(fā)布時間:2021-07-16 01:05:20 來源:億速云 閱讀:222 作者:chen 欄目:編程語言

這篇文章主要介紹“C#多標(biāo)簽的實(shí)現(xiàn)方法”,在日常操作中,相信很多人在C#多標(biāo)簽的實(shí)現(xiàn)方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#多標(biāo)簽的實(shí)現(xiàn)方法”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

.Net Framework 內(nèi)置的TabControl容器提供了多標(biāo)簽的界面,自動封裝了標(biāo)簽的新建、刪除、切換等功能,但是這個控件實(shí)在長得難看,所以這里介紹自己制作標(biāo)簽的方法。

首先是用什么控件來做標(biāo)簽,一開始我用Label,但是Label很難看,所以就改用Button。

然后用一個Panel容器來做標(biāo)簽欄,也就是說它是所有標(biāo)簽的父容器。

C#標(biāo)簽的新建:

Button btn1=new Button();   btn1.Width=150;   btn1.Dock=DockStyle.Left;   panel2.Controls.Add(btn1);

這里只設(shè)定了寬度,而它的位置、高度都不用設(shè),因?yàn)樵谶@里用到了btn1.Dock=DockStyle.Left,這樣標(biāo)簽就始終會??吭趐anel2的左側(cè),標(biāo)簽的top就是0,height就是panel2的高度。如果你想要自定義top和height怎么辦?可以設(shè)一下panel2的Padding屬性,比如設(shè)為(0,0,5,5),則標(biāo)簽的top就是5,bottom就是panel2的高度-5,width就是panel2的高度-10。

那么,標(biāo)簽的left是多少?因?yàn)槊恳粋€標(biāo)簽的Dock都是Left,所以標(biāo)簽會自動按順序從左到右排列,如果中途刪除了某個標(biāo)簽,它右邊的標(biāo)簽就會自動過來補(bǔ)充,如果插入新的標(biāo)簽,則它會自動擠開右邊的標(biāo)簽,這就是Dock屬性的好處。

標(biāo)簽按什么順序排列?按Zorder,即控件顯示的前后順序,如果兩個控件有重疊區(qū)域,則Zorder較高的控件會遮住另一個。通常后添加的控件Zorder較高。你可以用Control.BringToFront,或Control.SentToBack方法使一個控件處于Zorder的最前面或***面。對于Dock在左邊的控件,Zorder高的控件在Zorder低的控件的右邊。

每一個標(biāo)簽都會對應(yīng)一個WebBrowser控件,在新建標(biāo)簽的同時也會新建一個WebBrowser,我們用一個panel3來顯示W(wǎng)ebBrowser。

WebBrowser wb1=new WebBrowser();   wb1.Dock=DockStyle.Fill;   panel3.Controls.Add(wb1);

這樣wb1自動充滿整個panel3。

C#標(biāo)簽的切換:

假設(shè)原來激活標(biāo)簽的是btn1,現(xiàn)在點(diǎn)擊了btn2,兩個標(biāo)簽對應(yīng)的WebBrowser為wb1,wb2,則

panel3.Controls.Add(wb2);   panel3.Controls.Remove(wb1);

就可切換標(biāo)簽。

關(guān)鍵是如何將每個標(biāo)簽與WebBrower綁定,可以使用標(biāo)簽的Tag屬性,也可以建立一個標(biāo)簽數(shù)組和WebBrower數(shù)組,使其中同位置的元素一一對就,兩種方法都可以。

C#標(biāo)簽的關(guān)閉:

移除標(biāo)簽     panel2.Controls.Remove(btn1);

然后要從panel3移除標(biāo)簽所代表的WebBrowser,同時關(guān)閉標(biāo)簽后還要記得激活其它的標(biāo)簽。

***還要調(diào)用WebBrowser.Dispose();以釋放它占用的資源。

在標(biāo)簽上顯示網(wǎng)頁的標(biāo)題:

可以在WebBrowser的DocumentTitleChanged事件中,用btn1.Text=((WebBrowser)sender).DocumentTitle;

到此,關(guān)于“C#多標(biāo)簽的實(shí)現(xiàn)方法”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI