我现在在做手机软件开发。建立了form1 和form2,我在form1中实例化了一个ImageList,代码如下:
     ImageList list1 = new ImageList();
在form1中我对list1 加载了一些图片,然后我如何才能在form2中显示list1中的照片?
[b]也就是说如何让ImageList跨窗口显示?
(附:在form2中调用list1 会出现错误:当前上下文中不存在名称“list2”)

解决方案 »

  1.   

    不如也寫個ImageList list1 = new ImageList();
    把代碼從新COPY一遍
      

  2.   

    回复二楼:这样做不可以,因为我在form1中对 list1加载图片的时候用到了private 类型的方法,而且代码量很大。
    在form2中重新写一遍list1 不是太好的办法。
      

  3.   

    回复三楼: 
        你是说在form1中写一个公用的类吗?能不能给下提示如何写这个类?多谢了!
      

  4.   

    写构造函数
    把图片存到list中 传 list 
      

  5.   


    //FImg1===============================================================
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using TestShow.Properties;namespace TestShow
    {
        public partial class FImg1 : Form
        {
            public FImg1()
            {
                InitializeComponent();
            }
            ImageList img1 = new ImageList();
            private void button1_Click(object sender, EventArgs e)
            {
                FImg2 im2 = new FImg2(img1);//把ImageList作为参数传给FImg2
                im2.Show();
            }        private void FImg1_Load(object sender, EventArgs e)
            {
                img1.Images.Add(Resources.bliss);
                img1.Images.Add(Resources.deepin_1);
                //......
            }
        }
    }
    //FImg2===============================================================
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;namespace TestShow
    {
        public partial class FImg2 : Form
        {
            public FImg2()
            {
                InitializeComponent();
            }
            /// <summary>
            /// 构造函数
            /// </summary>
            /// <param name="imglist">Fimg1中传过来的imagelist</param>
            public FImg2(ImageList imglist)
            {
                InitializeComponent();
                MessageBox.Show(imglist.Images.Count.ToString());
            }
        }
    }