当前位置:编程学习 > C#/ASP.NET >>

paint事件中图像一闪而消失的问题

我在form窗口中放了1个tablelayout控件,然后又放了一个panel控件,最后放了一个label控件,我在label控件里画图,但执行label控件paint事件时,图像就闪了一下就消失了。问高手这是怎么回事? --------------------编程问答-------------------- 画图的Graphics可能选的不合适。应该使用它的参数里的Graphics(e.Graphics); --------------------编程问答-------------------- 代码贴出来帮你看,
最近也在搞图形 --------------------编程问答-------------------- private void CreateForm()
        { 
            //创建画板
            Graphics g = lblForm.CreateGraphics();
            //this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true);

            try
            {
                g.Clear(Color.White);
                Font font = new System.Drawing.Font("Arial", 9, FontStyle.Regular);
                Font font2 = new System.Drawing.Font("Arial", 8, FontStyle.Regular);
                System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, lblForm.Width, lblForm.Height), Color.Blue, Color.Blue,1.2f,true);
                //填充画板背景色
                g.FillRectangle(Brushes.White, 0, 0, lblForm.Width, lblForm.Height);
                //画图片边框线
                g.DrawRectangle(new Pen(Color.Blue), 0, 0, lblForm.Width - 1, lblForm.Height - 1);

                Pen mypen = new Pen(brush, 1);
                Pen mypen2 = new Pen(Color.Red, 2);

                //绘制纵向线条
                int x = 20;
                for (int i = 0; i < 12; i++)
                {
                    g.DrawLine(mypen, x, 30, x, 200);
                    x += 20;
                }
            }
            finally
            {
                g.Dispose();
            } --------------------编程问答-------------------- lblForm是什么?是Label?

你为什么不添加Label的Paint事件呢?把画的代码放到Paint里,不要CreateGraphics。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,