求助高手,窗口重绘问题
我override了OnPaint方法,让它画一个指定队列里面的点。然后用一个定时器,定时validate所画区域,可是为什么画了一会就不画了,调试发现,程序没有进OnPaint方法,当我切换窗口的时候,它又进OnPaint方法了。请问这是为什么了,它为什么不定时的去调用OnPaint方法,使用Refresh也是如此。怎样才能让系统不停的调用OnPaint方法,重绘指定区域?
--------------------编程问答--------------------
自己顶一下……
--------------------编程问答--------------------
定时器需要加上base.Invalidate();
--------------------编程问答--------------------
给你段示例代码
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();
}
--------------------编程问答--------------------
弄一timer,在其事件里调用Refresh方法,试试
--------------------编程问答--------------------
樓上的已經說出答案了﹐Timer事件
--------------------编程问答--------------------
3楼、4楼、5楼的大侠没看清楚我的问题,我已经用定时器了,但还是没有定时去OnPaint,可能.NET认为不需要重绘,所以没有调用OnPaint,我现在的问题是怎样强制让它定时的OnPaint.
--------------------编程问答--------------------
顶一下,楼下的继续回答。
--------------------编程问答--------------------
高手在哪里???
--------------------编程问答--------------------
个人感觉还是时间定时器没有设定好,主要看看自己的变成出错的地方,应该有答案!要相信自己。
补充:.NET技术 , C#