费了一番周折终于解决了,以下若有不当之处敬请各位指教,谢谢!
//////////////////////////////////////////////////////
///
///功能:可以改变文本行距(行间距)的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;//计算行数