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

我是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.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
?它是否连接到设计器文件中的事件?如果是这样,也显示该代码。