求助高手,窗口重绘问题

wqtian2010 2010-03-20 09:48:08
我override了OnPaint方法,让它画一个指定队列里面的点。然后用一个定时器,定时validate所画区域,可是为什么画了一会就不画了,调试发现,程序没有进OnPaint方法,当我切换窗口的时候,它又进OnPaint方法了。请问这是为什么了,它为什么不定时的去调用OnPaint方法,使用Refresh也是如此。怎样才能让系统不停的调用OnPaint方法,重绘指定区域?
...全文
128 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
秒华 2010-03-28
顶一下,楼下的继续回答。
回复
wqtian2010 2010-03-28
3楼、4楼、5楼的大侠没看清楚我的问题,我已经用定时器了,但还是没有定时去OnPaint,可能.NET认为不需要重绘,所以没有调用OnPaint,我现在的问题是怎样强制让它定时的OnPaint.
回复
a451653948 2010-03-28
个人感觉还是时间定时器没有设定好,主要看看自己的变成出错的地方,应该有答案!要相信自己。
回复
wqtian2010 2010-03-28
高手在哪里???
回复
SAP道长 2010-03-26
樓上的已經說出答案了﹐Timer事件
回复
yuanhuiqiao 2010-03-26
弄一timer,在其事件里调用Refresh方法,试试
回复
JOCLI 2010-03-26
给你段示例代码



protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
MessageBox.Show("OK");
}

private void timer1_Tick(object sender, EventArgs e)
{
this.Refresh();
}

private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
}
回复
starts_2000 2010-03-26
定时器需要加上base.Invalidate();
回复
wqtian2010 2010-03-26
自己顶一下……
回复
相关推荐
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2010-03-20 09:48
社区公告

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