公司简介用label来读出,但是不知道如何设置行间距,请指教

解决方案 »

  1.   

    你可以参考一下:
      //////////////////////////////////////////////////////   
      ///   
      ///功能:可以改变文本行距(行间距)的Label   
      ///作者:emanlee   
      ///用于:c#   2003,2005   
      ///时间:2006-8-10   
      ///   
      /////////////////////////////////////////////////////   
      using   System;   
      using   System.ComponentModel;   
      using   System.Collections.Generic;   
      using   System.Diagnostics;   
      using   System.Text;   
      using   System.Drawing;   
        
      namespace   compass.Common   
      {   
              public   partial   class   myLabel   :   System.Windows.Forms.Label   
              {   
                      int   lineDistance   =   5;//行间距   
        
                      public   int   LineDistance   
                      {   
                              get   {   return   lineDistance;   }   
                              set   {   lineDistance   =   value;   }   
                      }   
                      public   myLabel()   
                      {   
                              InitializeComponent();   
                      }   
        
                      public   myLabel(IContainer   container)   
                      {   
                              container.Add(this);   
        
                              InitializeComponent();   
                      }   
                      protected   override   void   OnPaint(System.Windows.Forms.PaintEventArgs   e)   
                      {   
                              Graphics   g   =   e.Graphics;   
                              String   drawString   =   this.Text;   
                              Font   drawFont   =   this.Font;   
                              SolidBrush   drawBrush   =   new   SolidBrush(this.ForeColor);   
                              SizeF   textSize   =   g.MeasureString(this.Text,   this.Font);//文本的矩形区域大小   
                              int   lineCount   =   Convert.ToInt16(textSize.Width   /   this.Width)   +   1;//计算行数   
        
                              this.Height   =   Convert.ToInt16((textSize.Height   +   lineDistance)   *   lineCount);//计算调整后的高度   
                              this.AutoSize   =   false;   
                              float   x   =   0.0F;   
                              float   y   =   0.0F;   
                              StringFormat   drawFormat   =   new   StringFormat();   
                              int   step   =   1;   
                              lineCount   =   drawString.Length;//行数不超过总字符数目   
                              for   (int   i   =   0;   i   <   lineCount;   i++)   
                              {   
                                      //计算每行容纳的字符数目   
                                      int   charCount;   
                                      for   (charCount   =   0;   charCount   <   drawString.Length;   charCount++)   
                                      {   
                                              string   subN   =   drawString.Substring(0,   charCount);   
                                              string   subN1   =   drawString.Substring(0,   charCount   +   1);   
                                              if   (g.MeasureString(subN,   this.Font).Width   <=   this.Width   
                                                      &&   g.MeasureString(subN1,   this.Font).Width   >   this.Width)   
                                              {   
                                                      step   =   charCount;   
                                                      break;   
                                              }   
                                      }   
                                      string   subStr;   
                                      if   (charCount   ==   drawString.Length)//最后一行文本   
                                      {   
                                              subStr   =   drawString;   
                                              e.Graphics.DrawString(subStr,   drawFont,   drawBrush,   x,   Convert.ToInt16(textSize.Height   *   i)   +   i   *   LineDistance,   drawFormat);   
                                              break;   
                                      }   
                                      else   
                                      {   
                                              subStr   =   drawString.Substring(0,   step);//当前行文本   
                                              drawString   =   drawString.Substring(step);//剩余文本   
                                              e.Graphics.DrawString(subStr,   drawFont,   drawBrush,   x,   Convert.ToInt16(textSize.Height   *   i)   +   i   *   LineDistance,   drawFormat);   
                                      }   
                              }   
                      }   
              }   
      }   
      

  2.   

    问题解决了:在table中加lable
    给table加一个  style="line-height:30px;"   行高的属性就OK了,
      

  3.   

    把Lable放到一个 flowLayoutPanel   flowLayoutPanel就是专门干这事的可以设置他的FlowDirection 进行布局
      

  4.   

    不用那么麻烦,点击Label的样式,在文本里面设置间距……