最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#控件編程之顯示信息控件詳解(Label、LinkLabel)

 更新時(shí)間:2025年04月02日 14:35:54   作者:To be better now  
這篇文章主要介紹了C#控件編程之顯示信息控件詳解(Label、LinkLabel),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Windows窗體設(shè)計(jì)程序提供眾多控件,其中,工具箱窗口的公共控件欄里包含較為常見的控件。

根據(jù)功能分類,其中用于顯示信息的控件包括標(biāo)簽(Label)和超鏈接標(biāo)簽(LinkLabel)。

Label用于顯示不可編輯的信息,LinkLabel除顯示不可編輯信息外,還提供執(zhí)行文件、網(wǎng)址和電子郵件鏈接功能,兩者使用非常廣泛。

本文利用Visual Studio 2019的Windows窗體設(shè)計(jì)程序,基于C#編程語言,從控件常用屬性和事件,結(jié)合具體示例,分別介紹Label和LinkLabel。

Label控件

Label控件用于顯示不可編輯信息,支持設(shè)置顯示內(nèi)容、字體大小、字體顏色和背景色等功能,具體實(shí)現(xiàn)由其屬性決定。由于Label控件不支持一些額外的互動(dòng),沒有特殊的事件,對(duì)于其事件將不再贅述。

屬性

布局

  • AntoSize:bool類型,指示是否啟用根據(jù)標(biāo)簽內(nèi)容字號(hào)自動(dòng)調(diào)整大小,初始為true。

當(dāng)AntoSize屬性為true時(shí),不能設(shè)置其尺寸(Size),Size屬性根據(jù)標(biāo)簽內(nèi)容(Text)的長度和字體字號(hào)(Font)自動(dòng)給出。若要自定義Size,需要將AntoSize屬性置為false。

經(jīng)測(cè)試,當(dāng)AntoSize屬性為false時(shí),對(duì)于水平顯示的文本內(nèi)容,寬度(Width)不夠而高度夠(Height),文本內(nèi)容會(huì)自動(dòng)換行;Width和Height都不夠,文本內(nèi)容將顯示不全。因此,在編程時(shí)發(fā)現(xiàn)標(biāo)簽內(nèi)容顯示不全時(shí),考慮Size是否設(shè)置足夠大。

  • Location:Point類型,定義控件左上角相對(duì)于其容器左上角的像素坐標(biāo),初始為所放置的點(diǎn)的像素坐標(biāo)。
  • Size:Size類型,定義控件的像素尺寸,初始為寬41,高12,即文本“Label1”在小五宋體所占的尺寸大小。

設(shè)計(jì)

  • Name:string類型,定義代碼中用于標(biāo)識(shí)控件的成員變量名,初始為Label1。

Name屬性需要在GenerateMember屬性為true才生效,若GenerateMember屬性為false,將不會(huì)為控件生成成員變量,此時(shí)在代碼中輸入Name會(huì)報(bào)錯(cuò)。

  • GenerateMember:bool類型,指示是否為控件生成成員變量,初始為true,上述已經(jīng)提到。
  • Locked:bool類型,指示是否可以通過鼠標(biāo)移動(dòng)控件(Location)或者調(diào)整控件尺寸(Size),初始為false。

當(dāng)Locked屬性為true時(shí),在設(shè)計(jì)界面選中該控件會(huì)在左上角顯示一把鎖,提示不能通過鼠標(biāo)移動(dòng)控件和調(diào)整尺寸,但可以通過輸入Location坐標(biāo)或者Size尺寸數(shù)值來操作它。

  • Modifiers:枚舉類型,定義控件的可訪問性級(jí)別,枚舉值有Private(同類可訪問)、Public(公開訪問)、Protected(同類及派生類可訪問)、Internal(同程序集可訪問)、Protected Internal(同程序集及派生程序集可訪問),初始為Private。(注:要想在其他類里訪問該控件,需要修改這個(gè)屬性,這個(gè)屬性無法寫代碼修改

當(dāng)需要在其他類里訪問該控件時(shí),應(yīng)設(shè)置Modifiers為合適的屬性,用Public最方便,訪問無限制,若保持Modifiers為Private,在其他類訪問該控件時(shí)會(huì)報(bào)錯(cuò)。

外觀

  • BackColor:Color類型,定義控件的背景色,初始為SystemColors.Control(系統(tǒng)灰)。
  • BorderStyle:BorderStyle枚舉類型,定義標(biāo)簽的邊框,枚舉值有None(無邊框)、FixedSingle(固定單線邊框)、Fixed3D(固定3D邊框),初始為None。

  • BackgroundImage:Image類型,定義控件的背景圖像,初始為空,即透明背景。
  • BackgroundImageLayout:ImageLayout枚舉類型,定義控件背景圖像布局方式,枚舉值有None(靠左顯示)、Tile(重復(fù)顯示)、Center(居中顯示)、Stretch(拉伸占滿顯示)、Zoom(按比例縮放顯示),初始為Tile。
  • Cursor:Cursor枚舉類型,定義鼠標(biāo)移動(dòng)到控件上顯示的光標(biāo),初始為Default。

在Cursor屬性的下拉框展示了各種枚舉值所對(duì)應(yīng)光標(biāo)種類供開發(fā)者選擇。

  • Font:Font類型,定義控件文本的字體和字號(hào)等,初始為宋體,9pt(小五)。

Font屬性提供了一個(gè)供開發(fā)者選擇的交互界面,包括多種不同字體選擇、四種字形選擇、多種不同字號(hào)選擇、刪除線和下劃線選擇等,類似于Word設(shè)置字體的交互界面。

  • ForeColor:Color類型,定義控件文本的顏色,初始為系統(tǒng)顏色SystemColors.ControlText(文本黑)。
  • Image:Image類型,定義控件上顯示的圖像,初始為空。

Label雖是標(biāo)簽控件,但也提供了圖像顯示功能,有時(shí)是可以客串PictureBox控件使用的。

  • ImageAlign:ContentAlignment枚舉型,定義控件顯示圖像的對(duì)齊方式,初始為MiddleCenter(水平、豎直居中)。

ImageAlign提供左上、左中、左下、中上、中中、中下、右上、右中、右下九種不同位置,在其下拉框可以形象的直接選擇。

  • Text:string類型,定義控件顯示的文本,初始為“label1”。
  • TextAlign:ContentAlignment枚舉型,定義控件顯示文本的對(duì)齊方式,初始為MiddleCenter(水平、豎直居中),其下拉條交互方式與ImageAlign屬性相同,見上圖。

行為

  • AutoEllipsis:bool類型,指示是否自動(dòng)處理溢出寬度以外的文本,初始為false。

所謂自動(dòng)處理,實(shí)際上就是對(duì)溢出文本以省略號(hào)顯示。

標(biāo)簽控件的Enabled屬性為false時(shí),將默認(rèn)顯示灰色文本。

  • Visible:bool類型,指示是否顯示該控件,初始為true,為false則隱藏控件。

LinkLabel控件

同樣是顯示信息控件,LinkLabel控件額外提供了外部鏈接交互功能,用于實(shí)現(xiàn)超鏈接。超鏈接的具體實(shí)現(xiàn)依靠LinkClicked事件,在事件方法體里寫入要轉(zhuǎn)到的鏈接地址即可。LinkLabel控件和Label類似,兩者相同的屬性在此不再贅述,本節(jié)主要介紹LinkLabel控件特有的屬性和事件。

屬性

  • ActiveLinkColor:Color類型,定義單擊超鏈接控件且未釋放鼠標(biāo)時(shí),超鏈接顯示的顏色,初始為Red(紅色)。
  • DisabledLinkColor:Color類型,定義當(dāng)超鏈接被禁用時(shí)的顏色,初始為RGB(133,133,133)(灰色)。

注意,這個(gè)屬性是超鏈接被禁用時(shí)觸發(fā),而不是超鏈接控件被禁用時(shí)觸發(fā)。如果在屬性框把控件的Enabled屬性置為false,將直接顯示默認(rèn)灰色,跟此屬性無關(guān)。要使這個(gè)屬性起作用,需要使用以下代碼,其中0可以換成其他索引index。

linkLabel1.Links[0].Enabled = false;//linkLabel1控件的第一條超鏈接置為不可用

  • LinkColor:Color類型,定義超鏈接默認(rèn)顯示的顏色,初始為Blue(藍(lán)色)。
  • LinkVisited:bool類型,指示超鏈接是否按已訪問的樣式呈現(xiàn) ,初始為false。
  • VisitedLinkColor:Color類型,定義當(dāng)LinkVisited屬性為true時(shí),超鏈接顯示的顏色,初始為RGB(128,0,128)(看著像是一種紫色)
  • LinkArea:LinkArea類型,定義超鏈接控件文本中視為超鏈接的文本范圍,初始為文本全覆蓋。

LinkArea屬性的格式為(x,y),x代表視為超鏈接文本的起始索引,y代表視為超鏈接文本的字符數(shù),整體表示視為超鏈接的文本從第x個(gè)字符開始,數(shù)y個(gè)字符結(jié)束。用代碼對(duì)其賦值時(shí),需要以new運(yùn)算符新建一個(gè)。

linkLabel2.LinkArea = new LinkArea(0, 5);

  • LinkBehavior:LinkBehevior枚舉類型,定義超鏈接下劃線的樣式,枚舉值包括SystemDefault(系統(tǒng)默認(rèn))、AlwaysUnderline(始終有下劃線)、HoverUnderline(鼠標(biāo)懸停時(shí)有下劃線)、NeverUnderline(無下劃線),初始為SystemDefault。
  • Links(控件屬性框沒有,但很重要):LinkCollection類型,定義超鏈接控件中包含的超鏈接的集合,初始集合僅有一個(gè)元素,即只包含一個(gè)超鏈接。

Links屬性的存在意味著一個(gè)超鏈接控件可以包含多個(gè)超鏈接,可以用不同的字符范圍代表不同的超鏈接,然后將其添加到Links集合就可以實(shí)現(xiàn)多個(gè)超鏈接,添加超鏈接語句如下,效果如下。

linkLabel2.Links.Add(7, 2);//linkLabel2添加超鏈接,文本范圍為第七個(gè)字符往后兩個(gè)字符

事件

  • LinkClicked():超鏈接單擊事件,單擊超鏈接文本時(shí)觸發(fā),常用來鏈接到執(zhí)行文件、網(wǎng)址和電子郵箱。

輸入以下代碼到LinkClicked事件方法體里,將其鏈接到CSDN官網(wǎng)首頁,測(cè)試。

//超鏈接單擊事件方法體
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    System.Diagnostics.Process.Start("https://www.csdn.net/");//鏈接到CSDN網(wǎng)站
}

此時(shí)linkLabel2的兩個(gè)超鏈接都鏈接到CSDN官網(wǎng)首頁。若要使兩個(gè)超鏈接鏈接到不同的地方,需要給各個(gè)超鏈接綁定所訪問的地址。我們把第二個(gè)超鏈接的add方法用以下代碼重寫一下,將其綁定到百度網(wǎng)站,然后再超鏈接單擊事件方法體取其鏈接地址并訪問,測(cè)試。

linkLabel2.Links.Add(0, 5, @"https://www.csdn.net/");//linkLabel2添加超鏈接,鏈接地址為CSDN
linkLabel2.Links.Add(7, 2, @"https://www.baidu.com/");//linkLabel2添加超鏈接,鏈接地址為百度
//超鏈接單擊事件方法體
private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
    if(!string.IsNullOrEmpty(e.Link.LinkData as string))//空字符串防護(hù)
    {
        System.Diagnostics.Process.Start(e.Link.LinkData as string);//鏈接到百度網(wǎng)站
    }            
}

此時(shí),點(diǎn)擊linkLabel2的第一個(gè)超鏈接,鏈接到了CSDN官網(wǎng)首頁,點(diǎn)擊第二個(gè)超鏈接,鏈接到了百度網(wǎng)站。若要實(shí)現(xiàn)更多指向不同鏈接的超鏈接,只需要按照這樣的格式再Add更多的就好。

值得注意的是,在Add的時(shí)候,需要保證各個(gè)超鏈接所占的文本范圍不能重疊,否則會(huì)報(bào)錯(cuò)。

總結(jié)

本文詳解了兩個(gè)顯示信息控件——Label和LinkLabel。Label提供簡單而又功能強(qiáng)大的不可編輯信息顯示功能,顯示文本內(nèi)容,字體字號(hào)字形、文本所在位置及排布,甚至還可以客串PictureBox來顯示圖片。

LinkLabel提供可鏈接對(duì)象包括執(zhí)行文件、網(wǎng)址和電子郵箱的超鏈接功能,支持各種狀態(tài)和顏色來表示超鏈接的不同狀態(tài),支持一個(gè)LinkLabel包含多個(gè)超鏈接,并分別鏈接到不同的地址,靈活又強(qiáng)大。

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

相關(guān)文章

  • 使用C#為Word段落和文本添加專業(yè)底紋

    使用C#為Word段落和文本添加專業(yè)底紋

    作為一名C#開發(fā)者,你是否曾為Word文檔中那些重復(fù)、繁瑣的格式設(shè)置而頭疼,今天,我將帶你深入了解如何利用強(qiáng)大的 Spire.Doc for .NET 庫,在C#中優(yōu)雅地實(shí)現(xiàn)Word文檔的段落底紋和文本底紋功能,徹底解決你的文檔自動(dòng)化處理痛點(diǎn),需要的朋友可以參考下
    2026-02-02
  • C#利用ScriptControl動(dòng)態(tài)執(zhí)行JS和VBS腳本

    C#利用ScriptControl動(dòng)態(tài)執(zhí)行JS和VBS腳本

    C#中利用ScriptControl動(dòng)態(tài)執(zhí)行JS和VBS腳本的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2013-04-04
  • C# SqlHelper應(yīng)用開發(fā)學(xué)習(xí)

    C# SqlHelper應(yīng)用開發(fā)學(xué)習(xí)

    這篇文章主要和大家一起學(xué)習(xí)C# SqlHelper應(yīng)用開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • C# Partial:分部方法和分部類代碼實(shí)例

    C# Partial:分部方法和分部類代碼實(shí)例

    這篇文章主要介紹了C# Partial:分部方法和分部類代碼實(shí)例,本文直接給出代碼實(shí)現(xiàn),需要的朋友可以參考下
    2015-03-03
  • C#服務(wù)生命周期:Singleton、Scoped、Transient用法及說明

    C#服務(wù)生命周期:Singleton、Scoped、Transient用法及說明

    文章介紹了三種服務(wù)生命周期:單例、作用域和瞬態(tài),并討論了如何在ASP.NETCore中使用這些生命周期管理服務(wù),單例在應(yīng)用程序生命周期中只有一個(gè)實(shí)例,作用域在每個(gè)請(qǐng)求中創(chuàng)建一個(gè)新實(shí)例,瞬態(tài)每次請(qǐng)求時(shí)創(chuàng)建一個(gè)新實(shí)例
    2025-01-01
  • C#多線程之線程池ThreadPool詳解

    C#多線程之線程池ThreadPool詳解

    本文詳細(xì)講解了C#多線程之線程池ThreadPool,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#類繼承中構(gòu)造函數(shù)的執(zhí)行序列示例詳解

    C#類繼承中構(gòu)造函數(shù)的執(zhí)行序列示例詳解

    這篇文章主要給大家介紹了關(guān)于C#類繼承中構(gòu)造函數(shù)的執(zhí)行序列的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-09-09
  • C#實(shí)現(xiàn)梳排序的使用示例

    C#實(shí)現(xiàn)梳排序的使用示例

    梳排序算法是一種改進(jìn)的冒泡排序算法,它通過調(diào)整冒泡排序的間隔來提高排序的效率,本文主要介紹了C#實(shí)現(xiàn)梳排序的使用示例,感興趣的可以了解一下
    2023-11-11
  • 用C#的params關(guān)鍵字實(shí)現(xiàn)方法形參個(gè)數(shù)可變示例

    用C#的params關(guān)鍵字實(shí)現(xiàn)方法形參個(gè)數(shù)可變示例

    params關(guān)鍵字以實(shí)現(xiàn)方法形參個(gè)數(shù)可變是C#語法的一大優(yōu)點(diǎn),下面是用C#中的params關(guān)鍵字實(shí)現(xiàn)方法形參個(gè)數(shù)可變
    2014-09-09
  • C#實(shí)現(xiàn)讀取USB轉(zhuǎn)串口參數(shù)并顯示在ComboBox

    C#實(shí)現(xiàn)讀取USB轉(zhuǎn)串口參數(shù)并顯示在ComboBox

    在很多應(yīng)用程序中,尤其是那些需要與外部硬件通信的程序中,自動(dòng)檢測(cè)和讀取串口參數(shù)是一個(gè)非常有用的功能,下面我們就來看看如何在C#中實(shí)現(xiàn)這一功能吧
    2024-01-01

最新評(píng)論

陆丰市| 南木林县| 静安区| 凌源市| 托克逊县| 汉川市| 岳阳县| 北海市| 渝北区| 库车县| 桦南县| 甘南县| 张家港市| 宣城市| 贵阳市| 蓬溪县| 新蔡县| 开封市| 阿鲁科尔沁旗| 柳林县| 米脂县| 隆德县| 崇文区| 恭城| 阳城县| 会东县| 高碑店市| 勐海县| 萍乡市| 织金县| 连城县| 同心县| 屯留县| 安乡县| 金阳县| 阜城县| 奉新县| 禹州市| 潼南县| 耿马| 枞阳县|