我是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);
}
}
}
但它没有说话,任何人都可以帮助我吗?
答案 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();