我是c#编程的初学者,想在want窗体应用程序中绘制一个矩形。我使用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);
}
}
}但是它不能说话,有人能帮我吗?
发布于 2013-05-23 20:56:05
在窗体上添加一个paint事件,并插入函数的代码(正确)。它应该看起来像这样:
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();发布于 2013-05-23 21:05:56
应该绘制的代码没有在任何地方被调用。这就是窗体的Paint事件的用途。您应该指定该事件,然后在您的代码中执行以下操作:
private void Form1_Paint(object sender, PaintEventArgs e)
{
FillRectangleRectangle(e);
}发布于 2013-05-23 20:56:14
我认为您需要刷新正在尝试绘制的对象。试试其中的一个
form.Invalidate();
form.Refresh(); https://stackoverflow.com/questions/16714444
复制相似问题