C# 奇怪的绘图矩形和绘图线
我想在画框上画几个数字。我希望下面的代码将绘制一个具有全尺寸对角线的矩形,但它没有。线不与矩形的右下角连接。我真的很好奇到底怎么了C# 奇怪的绘图矩形和绘图线,c#,winforms,graphics,drawing,C#,Winforms,Graphics,Drawing,我想在画框上画几个数字。我希望下面的代码将绘制一个具有全尺寸对角线的矩形,但它没有。线不与矩形的右下角连接。我真的很好奇到底怎么了 private void onPaint(object sender, PaintEventArgs e) { Graphics g = e.Graphics; Pen p = new Pen(System.Drawing.Color.Black, 2); g.DrawRectangle(p, 50,
private void onPaint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Pen p = new Pen(System.Drawing.Color.Black, 2);
g.DrawRectangle(p, 50, 10, 400, 400);
g.DrawLine(p, 50, 10, 400, 400);
}
在
DrawRectangle
中,最后两个参数是宽度和高度。在DrawLine
中,最后两个参数是final x和final y
因此,只需将起始x和起始y添加到宽度和高度,即可得到对角线:
g.DrawRectangle(p, 50, 10, 400, 400);
g.DrawLine(p, 50, 10, 450, 410);
此外,如果声明矩形,则无需更改图形代码即可更改值。比如:
private void onPaint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle rc = new Rectangle(50, 10, 400, 400);
using (Pen p = new Pen(System.Drawing.Color.Black, 2))
{
g.DrawRectangle(p, rc);
g.DrawLine(p, rc.Left, rc.Top, rc.Right, rc.Bottom);
}
}
哦这真是个愚蠢的问题!)谢谢你的帮助!