日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#在WinForm開發(fā)中Label換行方法

很多朋友都會在開發(fā)WinForm中遇到Label要顯示的內(nèi)容太長,但卻不能換行的問題.這里我總結(jié)了幾種方法,供大家參考。

***種是把Label的AutoSize屬性設(shè)為False,手動修改Label的大小.這樣的好處是會因內(nèi)容的長度而自動換行,但是當內(nèi)容的長度超過所設(shè)定的大小時,多出的內(nèi)容就會無法顯示.因此,這種方法適合于基本確定內(nèi)容長度的時候使用。

第二種是把Label的Dock設(shè)為FILL,同時將AutoSize屬性設(shè)為False,這種方法可將上面所說的缺點修正,但是同時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;   //每行顯示的字數(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每行所顯示的字數(shù)得到控制,同時也動態(tài)的生成的所對應的行數(shù),這對于排版有很大的好處,但是如果顯示內(nèi)容過多,該方法也會令多出來的內(nèi)容無法顯示.因此,對于顯示內(nèi)容過長的時候,可以在外層加上Panel或GroupBox,設(shè)置AutoScroll為true,這樣就不會因為太長而導致Label高度擴大而影響其它控件的布局,同時也可以更好地顯示完整的內(nèi)容。

三種方法都有它的優(yōu)缺點,沒有說誰優(yōu)誰劣,只有最適合的,朋友們不妨試試


標題名稱:C#在WinForm開發(fā)中Label換行方法
文章源于:http://www.dlmjj.cn/article/djopchc.html