如何通过单击按钮在面板上绘制内容

时间:2016-05-14 14:38:38

标签: c#-3.0

我有一个面板和一个按钮。即:

private void button1_Click(object sender, EventArgs e)
    {
        panel2.Paint += new PaintEventHandler(panel2_Paint);
        panel2.Refresh();
    }

private void panel2_Paint(object sender, PaintEventArgs e)
    {


            Graphics g = this.CreateGraphics();
            Graphics[,] g1 = new Graphics[140, 140];
            int[,] graph = new int[140, 140];

            int i, j;
            for (i = 0; i < 140; i++)
                for (j = 0; j < 140; j++)
                {
                    graph[i, 8] = 1;
                    graph[i, 10] = 1;
                }

            Pen p = new Pen(Color.Blue);
            SolidBrush mySolidColorBrush = new SolidBrush(Color.Blue);
            Graphics a;
            a = this.CreateGraphics();

            for (i = 1; i <= 10; i++)
                for (j = 1; j <= 14; j++)
                {
                    g.DrawEllipse(p, 80 * i, 80 * j, 10, 10);
                  g.FillEllipse(mySolidColorBrush, 80 * i, 80 * j, 20, 20);
          a.DrawLine(Pens.Blue, 80 * i, 80 * j, 80 * (i - 1), 80 * (j - 1));
                }

    }

当我点击按钮时,输出应显示在面板上,但在我的情况下,它会显示在表格上。

1 个答案:

答案 0 :(得分:-1)

您应该创建自己的用户控件来执行绘图任务。

    private void button1_Click(object sender, EventArgs e)
    {
        userControl11.DrawStuff();
    }

然后你可以从父控件中调用公共方法绘制东西。

errorlevel

enter image description here