用GDI+写字到界面实现当字符串长度大于rect的长度时,自动节断字符串,并在后边以“...“补充

想实现以下功能,写字到一个Rectangle中,要求:
当字符串长度大于rect的长度时,自动节断字符串,并在后边以“...“补充。
例子:
字符串“I   am   a   boy!”,输出后有可能就变成“I   am   a   bo...”。
是否有直接可用的方法?而不是自己画...
protected   override   void   OnPaint(PaintEventArgs   e) 

base.OnPaint(e); 
string   str   =   "I   am   a   boy! "
Rectangle   rect   
=   new   Rectangle(50,   50,   70,   20); 
using   (StringFormat   format   =   new   StringFormat(   StringFormatFlags.NoWrap)) 

format.Alignment   
=   StringAlignment.Near; 
format.LineAlignment   
=   StringAlignment.Center; 
format.Trimming   
=   StringTrimming.EllipsisCharacter; 
e.Graphics.DrawString(str,   
this.Font,   SystemBrushes.ControlText,   rect,   format); 
e.Graphics.DrawRectangle(SystemPens.ControlText,   rect); 


posted on 2008-03-11 14:11  crescens  阅读(473)  评论(0)    收藏  举报

导航