标题:DrawString为什么不显示?
只看楼主
IDeric
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-25
 问题点数:0 回复次数:5 
DrawString为什么不显示?
在窗体里写了这个代码,运行后发现窗体上怎么没有,这个字符串。
void pain()
{
Graphics g =this.CreateGraphics();
g.DrawString("aa",new Font("Timer new Roman",20),Brushes.Red,100,100);
}
但是在 窗体的paint事件里
public void DrawStringPointF(PaintEventArgs e)
{
String drawString = "Sample Text";
Font drawFont = new Font("Arial", 16);
SolidBrush drawBrush = new SolidBrush(Color.Black);
PointF drawPoint = new PointF(150.0F, 150.0F);
e.Graphics.DrawString(drawString, drawFont, drawBrush, drawPoint);
}
这么写又会有,不用 paint事件可以吗?为什么 第一个方法不可以显示?是不是刷新了?怎么让他不刷新?

搜索更多相关主题的帖子: DrawString new void 窗体 
2007-01-26 22:28
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
得分:0 
第一个方法如果执行了肯定是可以显示的,可能由于刷新给擦掉了,为什么要写在PAINT事件里的原因也就在这样,WINDOWSPAINT 消息管理自我窗体的绘制,所以你写在里面就不会被擦掉。

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-01-27 08:30
IDeric
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-25
得分:0 
可以显示,但是刷新就没有了。那怎么让他不刷新呢?我写在paint事件里面的方法产生一个随机数,只要最小化窗口再打开数字就变了,怎么让他不变?还有我把字符串写到窗体上了,那我还能从窗体上读出这个字符串来吗?
2007-01-27 09:31
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
得分:0 

PAINT事件刷新原理懂吗?当客户区窗口的重画时机成熟时()就会产生重画事件重画,如果代码没有写在PAINT事件里系统就只会画系统本身的内容(窗体和组件)而不会去画你的东西,使之不刷是不行的,如果不刷新的话你的窗体就会像你画的东西一样被其他窗体一盖就影子都不见了,还能看到你画的东西吗(我要抽烟,但全停产了,还能抽么?)所以你要写在PAINT里或者用其他方法来解决被重画去掉的危险.
BY THE WAY 再说两句
一、在HWND上画东西(东西多时)会引起闪烁
二、写在PAINT事件里(画的东西多时)效率极低
解决方案:
写见 我的MP3播放器组件或QQ选择组件.DATAGRID组件等等都用到了GDI+画图,
一、可以用双缓冲提高效率和减少闪烁
二、用PICTUREOBX来维护画的画解决闪烁问题。


XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-01-27 09:41
IDeric
Rank: 1
等 级:新手上路
帖 子:76
专家分:0
注 册:2006-12-25
得分:0 
那``重画时机 是什么时候(初始化完,或者在文本框里按下键盘,拖动窗口这些都是吗?)
刷新是自动的?和垃圾回收一 样不能由用户控制执行时间?
那样怎么样用其他方法来解决被重画去掉的危险.?
谢谢大大指点!
2007-01-27 09:55
jacklee
Rank: 7Rank: 7Rank: 7
来 自:XAplus
等 级:贵宾
威 望:32
帖 子:1769
专家分:104
注 册:2006-11-3
得分:0 
所有东西显示在显示器上都是一个图片(LONG TONG的讲)

XAplus!
讨论群:51090447
删吧删吧,把我的号给删了!
2007-01-27 10:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-118349-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120145 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved