c#怎么实现画直线传值
2个回答
2023-09-25
展开全部
在C#中,你可以使用System.Drawing命名空间中的Graphics类来绘制直线。下面是一个基础的例子,展示了如何在WinForms应用程序中绘制直线:
csharp复制代码
using System;
using System.Drawing;
using System.Windows.Forms;
public class MyForm : Form
{
public MyForm()
{
this.DoubleBuffered = true; // 确保更好的绘制效果,避免闪烁
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 创建一个画笔对象
Pen myPen = new Pen(Color.Red, 2); // 红色,线宽2
// 获取Graphics对象
Graphics g = e.Graphics;
// 画直线,从点(50,50)到点(200,200)
g.DrawLine(myPen, 50, 50, 200, 200);
// 清理
myPen.Dispose();
g.Dispose();
}
}
然后,你可以通过修改DrawLine方法的参数来改变直线的起点和终点。例如,你可以创建一个方法,接受两个点作为参数,然后在这些点上画线:
csharp复制代码
public void DrawLine(Point start, Point end)
{
Pen myPen = new Pen(Color.Red, 2); // 红色,线宽2
Graphics g = this.CreateGraphics();
g.DrawLine(myPen, start, end);
myPen.Dispose();
g.Dispose();
}
然后,你可以在需要的地方调用这个方法,例如:
csharp复制代码
DrawLine(new Point(50, 50), new Point(200, 200));
csharp复制代码
using System;
using System.Drawing;
using System.Windows.Forms;
public class MyForm : Form
{
public MyForm()
{
this.DoubleBuffered = true; // 确保更好的绘制效果,避免闪烁
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
// 创建一个画笔对象
Pen myPen = new Pen(Color.Red, 2); // 红色,线宽2
// 获取Graphics对象
Graphics g = e.Graphics;
// 画直线,从点(50,50)到点(200,200)
g.DrawLine(myPen, 50, 50, 200, 200);
// 清理
myPen.Dispose();
g.Dispose();
}
}
然后,你可以通过修改DrawLine方法的参数来改变直线的起点和终点。例如,你可以创建一个方法,接受两个点作为参数,然后在这些点上画线:
csharp复制代码
public void DrawLine(Point start, Point end)
{
Pen myPen = new Pen(Color.Red, 2); // 红色,线宽2
Graphics g = this.CreateGraphics();
g.DrawLine(myPen, start, end);
myPen.Dispose();
g.Dispose();
}
然后,你可以在需要的地方调用这个方法,例如:
csharp复制代码
DrawLine(new Point(50, 50), new Point(200, 200));
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询