自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#標(biāo)簽的制作:多標(biāo)簽的實(shí)現(xiàn)

開發(fā) 后端
WebBrowser控件的常用方法、屬性和事件這篇文章說了瀏覽器核心的制作,這一篇說C#標(biāo)簽:多標(biāo)簽的實(shí)現(xiàn)。

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

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

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

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

  1. Button btn1=new Button();  
  2.  
  3. btn1.Width=150;  
  4.  
  5. btn1.Dock=DockStyle.Left;  
  6.  
  7. panel2.Controls.Add(btn1); 

這里只設(shè)定了寬度,而它的位置、高度都不用設(shè),因?yàn)樵谶@里用到了btn1.Dock=DockStyle.Left,這樣標(biāo)簽就始終會(huì)??吭趐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)槊恳粋€(gè)標(biāo)簽的Dock都是Left,所以標(biāo)簽會(huì)自動(dòng)按順序從左到右排列,如果中途刪除了某個(gè)標(biāo)簽,它右邊的標(biāo)簽就會(huì)自動(dòng)過來補(bǔ)充,如果插入新的標(biāo)簽,則它會(huì)自動(dòng)擠開右邊的標(biāo)簽,這就是Dock屬性的好處。

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

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

  1. WebBrowser wb1=new WebBrowser();  
  2.  
  3. wb1.Dock=DockStyle.Fill;  
  4.  
  5. panel3.Controls.Add(wb1); 

這樣wb1自動(dòng)充滿整個(gè)panel3。

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

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

  1. panel3.Controls.Add(wb2);  
  2.  
  3. panel3.Controls.Remove(wb1); 

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

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

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

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

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

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

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

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

【編輯推薦】

  1. 關(guān)于C#知識點(diǎn)總結(jié)
  2. C#開發(fā)和使用中的33個(gè)技巧
  3. SQL Server存儲過程介紹
  4. C#下SQL Server 2008表類型參數(shù)傳遞
  5. C#向SQL Server中插入記錄時(shí)的問題
責(zé)任編輯:book05 來源: 新浪博客
相關(guān)推薦

2009-08-18 13:59:21

C#多標(biāo)簽瀏覽器

2009-08-07 15:58:54

C#字符串插入html

2009-06-09 11:41:13

思科MPLS技術(shù)原理

2010-08-24 10:11:26

DIV標(biāo)簽

2009-06-05 10:12:36

Struts標(biāo)簽庫HTML標(biāo)簽

2010-06-17 23:46:21

多協(xié)議標(biāo)簽交換MPLS

2009-05-13 11:50:17

C#多繼承接口

2010-06-10 11:08:55

多協(xié)議標(biāo)簽交換

2022-09-06 07:02:17

棋盤布局CSS

2009-08-04 13:41:31

2009-06-16 10:20:05

多繼承C#

2009-07-07 17:43:33

JSP系統(tǒng)

2010-09-10 09:51:05

DIVCSS

2011-09-26 11:22:10

2009-08-04 09:22:26

C#工廠模式

2009-08-03 16:35:30

C#日期比較

2023-12-12 07:16:34

HTML標(biāo)簽開發(fā)

2010-01-05 21:35:51

MPLS

2009-08-26 09:54:45

C#打印預(yù)覽C#打印

2009-09-01 18:29:10

C#繼承C#多態(tài)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號