C# Label換行解決方案

來源:互聯網
上載者:User

一、label太短,無法完成顯示所要顯示資訊長度,要換行,解決方案如下:
(1)
string aa =(長串) ;
                        string cc= aa.Substring(0,10);//取前10個字元
                        string dd=aa.Substring(11);取後邊的

                         Label.Text=cc.Trim() + "\n"(換行) +dd.Trim();
(2)
如果長串中有特殊字元,如' '(空格)
string aa=(長串);
string[] bb = aa.Split(new char[] {' '});
                        for (int i = 0; i <bb.Length ; i++)
                        {
                         Label.Text += bb[i].ToString()+"\n"((換行));
                        }

二、另外的方法:

第一種:

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

第二種:

把Label的Dock設為FILL,同時將AutoSize屬性設為False,這種方法可將上面所說的缺點修正,但是同時Label會將其它控制項的位置霸佔,影響布局.因此,在使用該方法時,最好給Label加上個Panel或GroupBox控制項.

第三種:

通過判斷內容的長度,動態設定Label的大小.具體程式如下(Label控制項取名為Label1,顯示內容的字串為str):
        int 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;           //設定顯示高度
        通過這種方法可以令Label每行所顯示的字數得到控制,同時也動態產生的所對應的行數,這對於排版有很大的好處,但是如果顯示內容過多,該方法也會令多出來的內容無法顯示.因此,對於顯示內容過長的時候,可以在外層加上Panel或GroupBox,設定AutoScroll為true,這樣就不會因為太長而導致Label高度擴大而影響其它控制項的布局,同時也可以更好地顯示完整的內容。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.