3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
C# label (自動)多行(顯示)   資料來源: http://developer.51cto.com/art/200904/117857.htm 很多朋友都會在開發WinForm中遇到Label要顯示的內容太長,但卻不能換行的問題.這裡我總結了幾種方法,供大家參考。 第一種是把Label的AutoSize屬性設為False,手動修改Label的大小.這樣的好處是會因內容的長度而自動換行,但是當內容的長度超過所設定的大小時,多出的內容就會無法顯示.因此,這種方法適合於基本確定內容長度的時候使用。 第二種是把Label的Dock設為FILL,同時將AutoSize屬性設為False,這種方法可將上面所說的缺點修正,但是同時Label會將其它控制項的位置霸佔,影響佈局.因此,在使用該方法時,最好給Label加上個Panel或GroupBox控制項。 第三種是通過判斷內容的長度,動態設置Label的大小.具體程式如下(Label控制項取名為Label1,顯示內容的字串為str): nt LblNum = str.Length;   //Label 內容長度 int RowNum = 10;   //每行顯示的字數 float FontWidth = label1.Width / label1.Text.Length;    // 每個字元的寬度 int RowHeight=15;   //每行的高度 int ColNum=(LblNum-(LblNum/RowNum)*RowNum)==0?(LblNum/RowNum):(LblNum / RowNum)+1;   // 列數 label1.AutoSize = false;    // 設置AutoSize label1.Width = (int)(FontWidth * 10.0);   // 設置顯示寬度 label1.Height = RowHeight * ColNum;   // 設置顯示高度      

本文由jashliaoeuwordpress提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦