关于GDI+的问题,请教。。。。 应该是你没有清除原来的字符引起的,每次DrawString的时候你要重绘Background。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 每次DrawString的时候都要重绘Background吗? 重绘过了如:...DrawString("ffffffffffffffffffffffffffffffffffff",this.Font,new SolidBrush(SystemColors.WindowText),0,0); 我是说Background 啦!你跟我讲的是重绘文字!DrawString不负责将所画文字占用的区域的背景恢复成原来的样子,也就是说,你原来画的那部分文字还在,然后你错开了n个象素,再画这些文字,就会出现重影。这个道理就跟你在一张白纸上面写了一遍ffffffffffff,然后再写一遍ffffffffffff是一样的。如果你第二次写的位置和第一次的一模一样,那就不会发现问题,如果稍微错开了一点就会出现重影。解决的办法是,在第二次重写的时候把原来写了ffffffffffff的地方的背景重新画一下,使得这片地方好像什么都没有发生过。也就是说应该这么做:FillRectangle(...);DrawString(...); 背景我当然重绘过了的,我是说比如应该显示"fffffffffffffff"的,却成了"f f f f f f fffffffffffff" 你重绘的起点不对,你不要用ffffffffff,你用123456789看看,看看是不是这样的:1 1 1 1 1 123456789 起点不对? 有什么不对?记事本中就不会出现ffffffffffffffffffffffffff时重叠,但我的代码就会,应该是哪个地方不对~```或者有字距的问题(我认为应该是这样了) 比如一开始是 ffffffff^绘制背景多绘出来的一道白边然后第二次画的是: fffffffff ^绘制背景多绘出来的一道白边将两者一重合就变成了: f fffffffff ^第二次画的时候的白边把原来第一次画的地方覆盖了一部分,但没有完全覆盖。 ^第一次画的f由于没有被覆盖,所以仍然遗留在这里。^这一块不一定有,有的话就是第一次画的时候遗留下来的白边。你不能够用123456789代替ffffff进行一次测试吗? 异步调用中回调函数的问题 怎么才能选中datagridview 中的checkbox???? 相同文件在同一个目录(文件夹中)如何区分出来?50分_在线等~ 关于C# 重量单位轉換問題 请问如何取得窗口的句柄?想实现输入法切换工具条的那种效果的话 依旧出现 当前不存在名称 textBox1 编写一个程序,利用求余运算完成24小时制和12小时制之间的转换 应用程序开发,请教。 3des 加密算法的key,iv有什么要求呀,随便写一个总是不行 求“ 微软发布VB、C#数据库编程代码包”! 如何根据出生年得到生肖?(在线等) 关于C#高级编成指南(第二版)
如:
...DrawString("ffffffffffffffffffffffffffffffffffff",this.Font,new SolidBrush(SystemColors.WindowText),0,0);
DrawString(...);
应该显示"fffffffffffffff"的,
却成了"f f f f f f fffffffffffff"
1 1 1 1 1 123456789
ffffffff
^绘制背景多绘出来的一道白边然后第二次画的是:
fffffffff
^绘制背景多绘出来的一道白边将两者一重合就变成了:
f fffffffff
^第二次画的时候的白边把原来第一次画的地方覆盖了一部分,但没有完全覆盖。
^第一次画的f由于没有被覆盖,所以仍然遗留在这里。
^这一块不一定有,有的话就是第一次画的时候遗留下来的白边。你不能够用123456789代替ffffff进行一次测试吗?