因为项目的需要,要实现竖排文字。只用Label控件是无法实现这个效果的,于是去找了下实现竖排文字的方法。以下就是实现代码,只要重绘文字就行。 复制内容到剪贴板 X 程序代码Graphics g = e.Graphics; //设置旋转中心点 g.TranslateTransform(this.ClientRectangle.Width/2,this.ClientRectangle.Height/2); //设置旋转角度 g.RotateTransform(270); //画文字 g.DrawString(text, base.Font, new SolidBrush(base.ForeColor),-this.ClientRectangle.Width / 2,-this.ClientRectangle.Height/2); g.ResetTransform(); 还有另一种更简单的,只一句代码,但是这个只能旋转90度 复制内容到剪贴板 程序代码 g.DrawString(text, base.Font, new SolidBrush(base.ForeColor), 0, 0,new StringFormat(StringFormatFlags.DirectionVertical)); 我用了第一种的代码做了一个竖排文字的控件,重载了OnPaint事件,把代码写在OnPaint里面。 |
|