2011年4月19日 星期二

C# Label 換行

1. 問題

    Label 在winform中進行換行

2.解法

   方法一:在字串中欲斷行的位置加入"\r\n"
                 
                   如textBox換行方式一樣
 
   方法二:(1) 設定 Label.AutoSize = true;

                   (2) 設定 Label.Dock = DockStyle.Fill;

                   (4) 設定 Label.MaximumSize = new System.Drawing.Size(寬度, 0);

                   (5) 此時你所要顯示的字如果超過設定"寬度",就會自動斷行。

3.如果要讓Label隨著Form的大小變化的話

    (1) 把MaximumSize的寬度設為Form的寬度

    (2) 當Form變化時,先把目前的控制項先移除,再重新繪制Label

    例子

    int labelWidth = Form.Width;
    Form.Resize += new System.EventHandler(this.Form_Resize);

    private void printLabel()
   {
       
         clearForm();
         Label.AutoSize = true;
         Label.Dock = DockStyle.Fill;
         Label.MaximumSize = new System.Drawing.Size(labelWidth, 0);
   }

   private void Form_Resize(object sender, EventArgs e)
   {
            Form f = (Form)sender;        
            labelWidth = f.Width      
            printLabel();    
   }

    private void clearForm()
   {
            this.SuspendLayout();
            Form.Controls.Clear();
            this.ResumeLayout(false);
            this.PerformLayout();
   }

4.延伸閱讀

   http://dev.firnow.com/course/4_webprogram/asp.net/netjs/2007926/74504.html

1 則留言:

  1. How to Create a Casino Account - JtmHub
    How to Create a Casino 공주 출장마사지 Account · Choose the Casino Site, type, mobile 동두천 출장샵 phone 여주 출장마사지 number, banking details, 안양 출장마사지 and any necessary verification steps needed 대구광역 출장마사지 to login to

    回覆刪除