首页 新闻 会员 周边 捐助

c#鼠标画图

0
悬赏园豆:10 [已解决问题] 解决于 2013-08-21 16:03

想做一个用鼠标画图的c#winform,在mousemove事件中画图,在鼠标画图的过程中,如何把鼠标移动时的坐标存入一个数组中?

如何在定义的另一个事件buttonclick中,引用这个数组??

中华神的主页 中华神 | 初学一级 | 园豆:48
提问于:2013-08-19 15:22
< >
分享
最佳答案
0

给你的 winform 添加一个成员变量 List<PointF> 或者 List<Point> ,然后你就可以到处引用了。

收获园豆:10
Launcher | 高人七级 |园豆:45050 | 2013-08-19 15:28

 怎样实现把mousemove事件鼠标移动时产生的坐标放入List<Point> 


能给一些简单的代码例子吗?本人刚学,是个菜鸟,求大神指点

中华神 | 园豆:48 (初学一级) | 2013-08-19 15:49

@中华神: 

public partial class Form1 : Form     {         List<Point> list = new List<Point>();

        public Form1()         {             InitializeComponent();

            this.MouseMove += new MouseEventHandler(Form1_MouseMove);         }

        void Form1_MouseMove(object sender, MouseEventArgs e)         {             list.Add(e.Location);         }     }

Launcher | 园豆:45050 (高人七级) | 2013-08-19 15:57

@Launcher: 怎么把List<Point>中的坐标赋给 this.pictureBox1.Location

这个代码该怎么写?

求大神指点

中华神 | 园豆:48 (初学一级) | 2013-08-19 16:19

@中华神: this.pictureBox1.Location = list[0];

Launcher | 园豆:45050 (高人七级) | 2013-08-19 16:21

@Launcher: 怎么获得list[]中存储的坐标的个数?

中华神 | 园豆:48 (初学一级) | 2013-08-19 16:44

@中华神: list.Count

Launcher | 园豆:45050 (高人七级) | 2013-08-19 16:45

@Launcher: 还有一些问题1.用graphics 画图,下面是代码,

Graphics graphics = CreateGraphics();
graphics.FillEllipse(new SolidBrush(Color.Black), e.X, e.Y, 10, 4);
graphics.Dispose();怎么定义一个画图的区域,而不是整个窗体

2.在用graphics画图后,然后picture。box中的图片沿着线的轨迹移动,但是随着图片的移动,图片经过的线的部分(图片和线重叠的部分),线就消失了,不显示了,这该怎么解决?

中华神 | 园豆:48 (初学一级) | 2013-08-20 07:56
Launcher | 园豆:45050 (高人七级) | 2013-08-20 09:25

@Launcher: 我先看看吧,不会就请教大神

中华神 | 园豆:48 (初学一级) | 2013-08-20 10:05

@Launcher: 第二个问题还是没有解决(图片的移动会使得画的线消失)求大神指点

中华神 | 园豆:48 (初学一级) | 2013-08-20 15:56

@中华神: 你得把画过的线的坐标记下来,每次都画。

Launcher | 园豆:45050 (高人七级) | 2013-08-20 16:11

@Launcher: 

timer1_Tick事件中的代码

this.pictureBox1.Location = list[j];//把记录的坐标赋给图片
Graphics graphics = CreateGraphics();//画线
graphics.FillEllipse(new SolidBrush(Color.Black), list[j].X, list[j].Y, 10, 4);
graphics.Dispose();
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;

这样的代码不好使啊,代码该怎么写呢,求大神指点

中华神 | 园豆:48 (初学一级) | 2013-08-20 18:54

@中华神: 不会。

Launcher | 园豆:45050 (高人七级) | 2013-08-21 09:11

@Launcher: 还是要谢谢大神

中华神 | 园豆:48 (初学一级) | 2013-08-21 16:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册