c#fillrectangle MVS 2012

时间:2013-05-23 12:50:48

标签: c#

我是c#编程的初学者,想在windowsformapplication中绘制一个矩形。 我使用Microsoft Visual Studio 2012并获得了此示例代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }
    private void FillRectangleRectangle(PaintEventArgs e)
    {

        // Create solid brush.
        SolidBrush blueBrush = new SolidBrush(Color.Blue);

        // Create rectangle.
        Rectangle rect = new Rectangle(0, 0, 200, 200);

        // Fill rectangle to screen.
        e.Graphics.FillRectangle(blueBrush, rect);
    }




    }
  }

但它没有说话,任何人都可以帮助我吗?

3 个答案:

答案 0 :(得分:2)

在表单上添加一个绘制事件,并插入函数的代码(正确)。 它应该是这样的:

private void Form1_Paint(object sender, PaintEventArgs e)
{
   SolidBrush blueBrush = new SolidBrush(Color.Blue);
   Rectangle rect = new Rectangle(0, 0, 200, 200);
   e.Graphics.FillRectangle(blueBrush, rect);
}

每当您想重绘表单时,请使用

Invalidate();

答案 1 :(得分:0)

应该绘制的代码不会被调用。这就是表单的Paint事件的用途。您应该分配该事件,然后在您的代码中执行此操作:

private void Form1_Paint(object sender, PaintEventArgs e)
{
    FillRectangleRectangle(e);
}

答案 2 :(得分:-1)

我认为你需要刷新你想要绘制的对象。尝试其中一个

form.Invalidate();
form.Refresh();