怎么用C#写出一个敏感的画面,就像画图工具一样,我可以在上边画线
根据这个线我要控制我自做的小车的运行轨迹。806433946@qq.com。有会的好人教教小弟...
根据这个线我要控制我自做的小车的运行轨迹。806433946@qq.com。有会的好人教教小弟
展开
1个回答
展开全部
public partial class Form1 : Form
{
Pen P = new Pen(Color.Red,1); //画笔
List<Point> Lines = new List<Point>(); //动态数组,,用于记录线条的所有点。。。
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = System.Windows.Forms.Cursors.Cross; //设置鼠标指针形状
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
if (e.Button == MouseButtons.Left)
{
if (Lines.Count == 0) //根据动态数组的个数来判断是不是线条的起点
{
g.FillRectangle(new SolidBrush(Color.Red), e.X, e.Y, 1, 1);//绘制起点
Lines.Add(new Point(e.X, e.Y));//将起点坐标加入动态数组
}
else
{
g.DrawLine(P, Lines[Lines.Count - 1], new Point(e.X, e.Y));//绘制上一次鼠标坐标到现在鼠标坐标的线条
Lines.Add(new Point(e.X, e.Y)); //将现在的鼠标坐标加入到动态数组。。。
}
}
}
//剩下的让小车沿线运行你应该会做了吧。。。只需要一个TIMER控件让小车依次走完动态数组lines的坐标就可以了
{
Pen P = new Pen(Color.Red,1); //画笔
List<Point> Lines = new List<Point>(); //动态数组,,用于记录线条的所有点。。。
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.Cursor = System.Windows.Forms.Cursors.Cross; //设置鼠标指针形状
}
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
if (e.Button == MouseButtons.Left)
{
if (Lines.Count == 0) //根据动态数组的个数来判断是不是线条的起点
{
g.FillRectangle(new SolidBrush(Color.Red), e.X, e.Y, 1, 1);//绘制起点
Lines.Add(new Point(e.X, e.Y));//将起点坐标加入动态数组
}
else
{
g.DrawLine(P, Lines[Lines.Count - 1], new Point(e.X, e.Y));//绘制上一次鼠标坐标到现在鼠标坐标的线条
Lines.Add(new Point(e.X, e.Y)); //将现在的鼠标坐标加入到动态数组。。。
}
}
}
//剩下的让小车沿线运行你应该会做了吧。。。只需要一个TIMER控件让小车依次走完动态数组lines的坐标就可以了
更多追问追答
追问
怎么画不出线来?form窗口中没出来线,我是菜鸟,麻烦你了。我一定加分
追答
请在。。。
InitializeComponent();
后面加上如下代码。。。
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.Form1_MouseMove);
不行请你还需要加上
this.Load += new System.EventHandler(this.Form1_Load);
肯定你是直接双击窗口然后把我的代码复制进去的,都没注册事件响应程序。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询