GDI得TextRenderer.DrawText 方法画的文字超出指定矩形的边界

chenzuobj 2008-07-22 10:42:04
string strTest="hgdfghalkfjdsfopsdajjfdoipfewjoifjlksadfdsasadsad
fjsdakfjdsafdsadsadsads
]fdsa
fsd
af
sd
fsad
f
sdf
dsafsadjfwoeifuwiopeureipworupewoiurpoweurpoweujfpoajfpoiweoiwejrwr";
Pen blackPen = new Pen(Color.Black, 3);
画出来的文字超出的指定矩形的范围
//画矩形
e.Graphics.DrawRectangle(blackPen, new Rectangle(10, 10, 71, 205));
//画文字
TextFormatFlags flags =TextFormatFlags.Left ¦ TextFormatFlags.Bottom ¦ TextFormatFlags.WordBreak;
TextRenderer.DrawText(e.Graphics, strTest, this.Font,
new Rectangle(10, 10, 71, 205), SystemColors.ControlText, flags);
...全文
333 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gomoku 2008-07-22
  • 打赏
  • 举报
回复
It seems that GDI cannot break you long word.
You might try adding another TextFormatFlags, TextFormatFlags.TextBoxControl
江城老温 2008-07-22
  • 打赏
  • 举报
回复
根据字符串的长度,给出矩形的边界。一个汉字的宽度大概是21像素。
  • 打赏
  • 举报
回复
帮你顶
chenzuobj 2008-07-22
  • 打赏
  • 举报
回复
StringFormat是GDI+里的,
  • 打赏
  • 举报
回复
帮你顶
GhostAdai 2008-07-22
  • 打赏
  • 举报
回复
把你那个矩形画大一点不就行了。
ATGO 2008-07-22
  • 打赏
  • 举报
回复
StringFormat
chenzuobj 2008-07-22
  • 打赏
  • 举报
回复
自己顶侠先
wyc_xiaoben 2008-07-22
  • 打赏
  • 举报
回复
先量一下字符串大小 再根据需要处理一下
chenzuobj 2008-07-22
  • 打赏
  • 举报
回复
TextFormatFlags.TextBoxControl会不会有什么弊端阿~!?
那位大哥告诉我

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧