我不知道我这个问法对不对 

private ArrayList array = new ArrayList();
private Point[] p;
...p =  new Point(e.X,e.Y);
出现错误说是无法将将System.Drawing.Point隐式转换成System.Drawing.Point[]
但是我一定要用到数组
大家知道怎么解决这个问题吗 
谢谢拉

解决方案 »

  1.   

    既然你申明的是Point[]这个是一个集合(数组),而你当前的p(e.X,e.Y)是其中一个元素,当然不能这个赋值,如果非要这么用,可以试试p[0]=new Point(e.X,e.Y);不知道有没说错,高手来指导下,算我帮你顶啦~
      

  2.   

    楼主的意思是把鼠标经过的点记录到ArrayList中吗
    那就直接array.Add(new Point(e.X, e.Y));好了
    不知道定义一个Point[] 有何作用?
      

  3.   

    因为我不只要记录下这些点还要 把这些点做个筛选 把符合要求的保存到数据库 要用for语句做个循环 所以就要用到数组
    不知道大家有没有好点的办法
      

  4.   

    point p=new point();
    array.add(p);
    ArrayList的数组,存放得是一组对象,所以用它的成员函数可以将不同的对象插入数组,这中间有个装箱的过程。
    读取的时候,p=(point)array[0];
    有一个拆箱的过程
    你可以用泛型List<point> list=new List<point>();
    list.add(p);
    point p2=list[0];
    就不用显式的转换
      

  5.   

    直接用private ArrayList array = new ArrayList();就可以了
    把点加到array里,这样加array.Add(new Point(e.X, e.Y));
    array就相当于数组了,一样能循环的