您好,登錄后才能下訂單哦!
這篇文章主要介紹“C#多標簽的實現方法”,在日常操作中,相信很多人在C#多標簽的實現方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C#多標簽的實現方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
.Net Framework 內置的TabControl容器提供了多標簽的界面,自動封裝了標簽的新建、刪除、切換等功能,但是這個控件實在長得難看,所以這里介紹自己制作標簽的方法。
首先是用什么控件來做標簽,一開始我用Label,但是Label很難看,所以就改用Button。
然后用一個Panel容器來做標簽欄,也就是說它是所有標簽的父容器。
C#標簽的新建:
Button btn1=new Button(); btn1.Width=150; btn1.Dock=DockStyle.Left; panel2.Controls.Add(btn1);
這里只設定了寬度,而它的位置、高度都不用設,因為在這里用到了btn1.Dock=DockStyle.Left,這樣標簽就始終會停靠在panel2的左側,標簽的top就是0,height就是panel2的高度。如果你想要自定義top和height怎么辦?可以設一下panel2的Padding屬性,比如設為(0,0,5,5),則標簽的top就是5,bottom就是panel2的高度-5,width就是panel2的高度-10。
那么,標簽的left是多少?因為每一個標簽的Dock都是Left,所以標簽會自動按順序從左到右排列,如果中途刪除了某個標簽,它右邊的標簽就會自動過來補充,如果插入新的標簽,則它會自動擠開右邊的標簽,這就是Dock屬性的好處。
標簽按什么順序排列?按Zorder,即控件顯示的前后順序,如果兩個控件有重疊區域,則Zorder較高的控件會遮住另一個。通常后添加的控件Zorder較高。你可以用Control.BringToFront,或Control.SentToBack方法使一個控件處于Zorder的最前面或***面。對于Dock在左邊的控件,Zorder高的控件在Zorder低的控件的右邊。
每一個標簽都會對應一個WebBrowser控件,在新建標簽的同時也會新建一個WebBrowser,我們用一個panel3來顯示WebBrowser。
WebBrowser wb1=new WebBrowser(); wb1.Dock=DockStyle.Fill; panel3.Controls.Add(wb1);
這樣wb1自動充滿整個panel3。
C#標簽的切換:
假設原來激活標簽的是btn1,現在點擊了btn2,兩個標簽對應的WebBrowser為wb1,wb2,則
panel3.Controls.Add(wb2); panel3.Controls.Remove(wb1);
就可切換標簽。
關鍵是如何將每個標簽與WebBrower綁定,可以使用標簽的Tag屬性,也可以建立一個標簽數組和WebBrower數組,使其中同位置的元素一一對就,兩種方法都可以。
C#標簽的關閉:
移除標簽 panel2.Controls.Remove(btn1);
然后要從panel3移除標簽所代表的WebBrowser,同時關閉標簽后還要記得激活其它的標簽。
***還要調用WebBrowser.Dispose();以釋放它占用的資源。
在標簽上顯示網頁的標題:
可以在WebBrowser的DocumentTitleChanged事件中,用btn1.Text=((WebBrowser)sender).DocumentTitle;
到此,關于“C#多標簽的實現方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。