C# 用C语言画三个矩形#
我有一个类“Making”,它将一个矩形绘制到Form1类中 问题是我必须在form1中的不同位置再创建两个矩形,但我不知道如何在同一个类中再绘制两个矩形 Making.cs:C# 用C语言画三个矩形#,c#,C#,我有一个类“Making”,它将一个矩形绘制到Form1类中 问题是我必须在form1中的不同位置再创建两个矩形,但我不知道如何在同一个类中再绘制两个矩形 Making.cs: class Making { public Rectangle[] makingRec; private SolidBrush brush; private int x, y, width, height; public Making() { making
class Making
{
public Rectangle[] makingRec;
private SolidBrush brush;
private int x, y, width, height;
public Making()
{
makingRec = new Rectangle[7];
brush = new SolidBrush(Color.Red);
x = 50;
y = 50;
width = 10;
height = 10;
for (int i = 0; i < makingRec.Length; i++)
{
makingRec[i] = new Rectangle(x, y, width, height);
x -= 10;
}
}
public void drawMaking(Graphics paper)
{
foreach (Rectangle making in makingRec)
{
paper.FillRectangle(brush, making);
}
}}
}
问题不在于没有绘制矩形,而是所有矩形都在一条直线上,因此最终将得到三个高度和颜色相同的重叠矩形。它们看起来像一个从x=30到60的长矩形。问题不是没有绘制矩形,而是所有矩形都在一条直线上,因此最终会有三个相同高度和颜色的重叠矩形。它们看起来像一个较长的矩形,从x=30到60。看起来您正在绘制7个半重叠的矩形(所有矩形都具有相同的Y值)。使用参数来设置矩形的位置,创建Making类的单独实例。或者该类的一个实例,将x和y的参数传递给drawMaking()方法。看起来您正在绘制7个半重叠的矩形(所有矩形都具有相同的y值)。使用参数来设置矩形的位置,创建Making类的单独实例。或类的一个实例,将x和y的参数传递给drawMaking()方法
public partial class Form1 : Form
{
Graphics paper;
Making making = new Making();
public Form1()
{
InitializeComponent();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
paper = e.Graphics;
making.drawMaking(paper);