C# 用Graphics的DrawString没法体现出Tab键的空位 20
自己写的一个程序,要在控件上绘制出输入的文字。现在从别的地方拷贝粘贴上来的文字内容中有Tab键生成的空位,但是绘制出来的完全看不出Tab空位。请问是怎么回事,需要怎么解决...
自己写的一个程序,要在控件上绘制出输入的文字。现在从别的地方拷贝粘贴上来的文字内容中有Tab键生成的空位,但是绘制出来的完全看不出Tab空位。请问是怎么回事,需要怎么解决?
代码如下:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics graph = e.Graphics;
BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current;
BufferedGraphics myBuffer = currentContext.Allocate(e.Graphics, e.ClipRectangle);
Graphics g = myBuffer.Graphics;
g.SmoothingMode = SmoothingMode.HighQuality; //高质量
g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
g.Clear(m_TextInfo.BackColor);
drawTextContern = m_TextInfo.TextContent;
g.DrawString(drawTextContern, font, brush, drawRectangle, sf);
sf.Dispose();
}
myBuffer.Render(e.Graphics);
g.Dispose();
}
直接写在用户自定义控件中的。
拷贝过来的字符串:
班级名称 25班
学生姓名: 学号: 登记时间: 身高(cm): 体重:
学生1 hahahahah 2014-03-10 14:26:42 160.1 25
正确画出来应该是:
结果现在是这样的:
请高手帮忙解决一下!谢谢。 展开
代码如下:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics graph = e.Graphics;
BufferedGraphicsContext currentContext = BufferedGraphicsManager.Current;
BufferedGraphics myBuffer = currentContext.Allocate(e.Graphics, e.ClipRectangle);
Graphics g = myBuffer.Graphics;
g.SmoothingMode = SmoothingMode.HighQuality; //高质量
g.PixelOffsetMode = PixelOffsetMode.HighQuality; //高像素偏移质量
g.Clear(m_TextInfo.BackColor);
drawTextContern = m_TextInfo.TextContent;
g.DrawString(drawTextContern, font, brush, drawRectangle, sf);
sf.Dispose();
}
myBuffer.Render(e.Graphics);
g.Dispose();
}
直接写在用户自定义控件中的。
拷贝过来的字符串:
班级名称 25班
学生姓名: 学号: 登记时间: 身高(cm): 体重:
学生1 hahahahah 2014-03-10 14:26:42 160.1 25
正确画出来应该是:
结果现在是这样的:
请高手帮忙解决一下!谢谢。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询