C#中如何使panel中画的图形随窗口变动而变动,请各位帮帮忙解决一下,谢谢。

解决方案 »

  1.   

    OnPaint中画,以panel区域为基础,不要把位置写死,然后OnResize事件中Invalidate
      

  2.   

    当窗口变动的时候重画wpf,silverlight很强大
      

  3.   

      int i, r, h;
                Graphics g = 主视图.CreateGraphics();
                SolidBrush brush1 = new System.Drawing.SolidBrush(Color.Black);
                Pen myPen = new Pen(Color.Black);
                myPen.Width = 1;
                r = (主视图.Width) / 60;
                h = (主视图.Height) / 40;
                //pictureBox4.Height = r * 30;画坐标系
                g.DrawLine(myPen, r * 15, h * 2 * 10, r * 45, h * 2 * 10);
                g.DrawLine(myPen, r * 30, h * 5, r * 30, h * 35);
                // g.DrawLine(myPen, r * 14, r, r * 14, r * 2 * 8 + r);
                Font font1 = new System.Drawing.Font("Arial", 20);
                for (i = 1; i <= 9; i++)//画坐标点
                {
                    g.DrawLine(myPen, 15 * r + r * 3 * i, h * 2 * 10 - 2, 15 * r + r * 3 * i, h * 2 * 10 + 2);            }
                for (i = 1; i <= 9; i++)
                {
                    g.DrawLine(myPen, 30 * r - 2, h * 5 + h * 3 * i, 30 * r + 2, h * 5 + h * 3 * i);            }
    这是我的程序,具体怎么修改可以提点意见吗,我是新手,对一些问题和概念不是很清楚,麻烦大家了,谢谢。主视图是panel名。