C WinForm中的Label換行方法

2022-08-03 16:03:16 字數 1060 閱讀 2636

第一種是把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高度擴大而影響其它控制項的布局,同時也可以更好地顯示完整的內容。

彙編中的LABEL詳解

label 偽指令可以插入乙個標號,並定義它的大小屬性,但是不為這個標號分配儲存空間。label 中可以使用所有的標準大小屬性,如 byte word dword 雙字 qword 四字 或 tbyte。label 常見的用法是,為資料段中定義的下乙個變數提供不同的名稱和大小屬性。如下例所示,在變數...

js中的label語句

工作中很少用到label語句,但是最近在學習 js高階教程設計 中發現裡面關於label語句的介紹,特在此記錄一下。1.語法形式label statement2.例子start for let i 0 i 10 i 3.這個例子中定義的start標籤可以在將來由breake或是continue語句中...

設定GUI中Label的字型大小

做 unity3d gui的時候一定會發現一般都是用gui.skin來控制gui顯示效果的,但是還會發現fontsize只能用於動態字型,當用在label和textarea中的時候顯示的字型是不會改變的 一直保持匯入字型預設大小,我在網上找了很久都沒找到有效的方法,只是通用的方法是做多個不同字型大小...