想了解类似于以下重载的事件处理方法的应用,主要是想了解怎样让窗口自动刷新
例:我在一个Form上加了一个panel,用于图片显示,而该图片是由多个小图片组成的地图
问题1:在应用了双缓冲方式绘制时,拖动滚动条时会出现边界模糊(只是边界,而不是闪屏)或拉长现象,而且把其它应用程序的窗口拉到Form程序窗口上再拉出去后,图片不会自动刷新显示出来;
问题2:我加了定时器,设置了处理函数如下,时间为100毫秒,结果是Form窗口最小化时,不停的输出"time ticket~!!!!!!!"即不停地刷新,而Form窗口正常显示时却不刷新;
问题3:我是应用了toolStripContainer把窗体分为几个部分,上面是菜单和工具栏,左边有一个panel,右边有一个panel用于显示图片,不知道这个容器控件会不会导致消息传递失败等问题,panel显示图片后,菜单栏和工具栏不会自动刷新(有几个按钮是在图片显示的同时动态增加的,不会自动刷新显示),非得鼠标移上去,才会刷新显示出来;
问题4:增加了颜色控件,但是在Form窗体大小改变后(例最大化后)颜色控件窗口无法正常显示而且Form窗口失去焦点(因为颜色控件窗口是模式对话框而且又不显示的原因),但按一下Alt键,颜色窗口就会显示,这种情况是在图片显示出来后才有,在没有加载图片时,不会出现这种情况。说明:我没有在Form窗口属性里增加paint事件,只是重载了OnPaint方法(如下):
        //定时器处理函数
        private void WindowsFormsTimer_Tick(object sender, System.EventArgs e)
        {
            Console.WriteLine("time ticket~!!!!!!!");
            this.Invalidate();
         }
        protected override void OnPaint(PaintEventArgs e)
        {            base.OnPaint(e);
            RunOneFrame(e);//处理自己的绘制逻辑        }        protected override void OnActivated(EventArgs e)
        {
            base.OnActivated(e);
        }
。望高手解决