C# 矩形不会出现在表单框中
我是c#新手,我试图在表单框中显示一个矩形(可能不是正确的名称),但每次运行代码时,无论我做什么,表单都显示为空。我使用的代码如下:C# 矩形不会出现在表单框中,c#,C#,我是c#新手,我试图在表单框中显示一个矩形(可能不是正确的名称),但每次运行代码时,无论我做什么,表单都显示为空。我使用的代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Task
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 MovingObject
{
public partial class ObjectMove : Form
{
public ObjectMove() => InitializeComponent();
public void DrawRectangleRectangle(PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black, 3);
Rectangle rect = new Rectangle(0, 0, 200, 200);
e.Graphics.DrawRectangle(blackPen, rect);
}
}
}
正如@mmathis在注释中所暗示的,如果没有调用您的方法,那么您将看不到矩形 由于您的方法需要一个
PaintEventArgs
参数,因此调用它的一种简单方法是重写一个OnPaint
eventhandlers并添加对该方法的调用
下面是一个覆盖“OnPaint”的工作示例
public partial class ObjectMove : Form
{
public ObjectMove() => InitializeComponent();
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
DrawRectangleRectangle(e);
}
private void DrawRectangleRectangle(PaintEventArgs e)
{
Pen blackPen = new Pen(Color.Black, 3);
Rectangle rect = new Rectangle(0, 0, 200, 200);
e.Graphics.DrawRectangle(blackPen, rect);
}
}
哪里调用了
DrawRectangleRectangle
?它是否连接到设计器文件中的事件?如果是这样,也显示该代码。