您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使C#在WinForm開發(fā)中Label換行”,在日常操作中,相信很多人在如何使C#在WinForm開發(fā)中Label換行問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使C#在WinForm開發(fā)中Label換行”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
很多朋友都會在開發(fā)WinForm中遇到Label要顯示的內(nèi)容太長,但卻不能換行的問題.這里我總結(jié)了幾種方法,供大家參考。
***種是把Label的AutoSize屬性設(shè)為False,手動修改Label的大小.這樣的好處是會因內(nèi)容的長度而自動換行,但是當(dāng)內(nèi)容的長度超過所設(shè)定的大小時,多出的內(nèi)容就會無法顯示.因此,這種方法適合于基本確定內(nèi)容長度的時候使用。
第二種是把Label的Dock設(shè)為FILL,同時將AutoSize屬性設(shè)為False,這種方法可將上面所說的缺點(diǎn)修正,但是同時Label會將其它控件的位置霸占,影響布局.因此,在使用該方法時,***給Label加上個Panel或GroupBox控件。
第三種是通過判斷內(nèi)容的長度,動態(tài)設(shè)置Label的大小.具體程序如下(Label控件取名為Label1,顯示內(nèi)容的字符串為str):
int LblNum = str.Length; //Label內(nèi)容長度 int RowNum = 10; //每行顯示的字?jǐn)?shù)float FontWidth = label1.Width / label1.Text.Length; //每個字符的寬度 int RowHeight=15; //每行的高度int ColNum=(LblNum-(LblNum/RowNum)*RowNum)==0?(LblNum/RowNum):(LblNum / RowNum)+1; //列數(shù) label1.AutoSize = false; //設(shè)置AutoSize label1.Width = (int)(FontWidth * 10.0); //設(shè)置顯示寬度 label1.Height = RowHeight * ColNum; //設(shè)置顯示高度 |
通過這種方法可以令Label每行所顯示的字?jǐn)?shù)得到控制,同時也動態(tài)的生成的所對應(yīng)的行數(shù),這對于排版有很大的好處,但是如果顯示內(nèi)容過多,該方法也會令多出來的內(nèi)容無法顯示.因此,對于顯示內(nèi)容過長的時候,可以在外層加上Panel或GroupBox,設(shè)置AutoScroll為true,這樣就不會因?yàn)樘L而導(dǎo)致Label高度擴(kuò)大而影響其它控件的布局,同時也可以更好地顯示完整的內(nèi)容。
三種方法都有它的優(yōu)缺點(diǎn),沒有說誰優(yōu)誰劣,只有最適合的,朋友們不妨試試
到此,關(guān)于“如何使C#在WinForm開發(fā)中Label換行”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。