rtform1窗体中放入的是一个DataGridView绑定的原始图片列表,还有ImageList和ListView控件用来装载特殊的图片,双击DataGridView中绑定的图片进入form2中的图片详细信息,form2中有一个按钮是用来给ImageList和ListView赋值的,增加数据到ImageList和ListView中的,可是现在没有反映,请帮忙看看,谢谢。
form1代码: form1中的代码button1_Click用来测试的,放在本页调用AddimageList是可以成功给ImageList和ListView增加数据的。
       
 private void button1_Click(object sender, EventArgs e)
        {
            //imageList1.Images.Add(pictureBig.Image);
            //listView1.LargeImageList = imageList1;
            AddimageList("1", "http://www.baidu.com/img/baidu_sylogo1.gif");
        }        public void AddimageList(string pid, string smallImage)
        {
            
            imageList1.Images.Add(pid, new Bitmap((new System.Net.WebClient()).OpenRead(smallImage)));
            listView1.Items.Add(pid, pid);
        }
form2代码:
        private void btnSelected_Click(object sender, EventArgs e)
        {
            string productID = label4.Text.Trim();
            string smallImageUrl = label2.Text.Trim();            frmMain f = new frmMain();
            f.AddimageList(productID, smallImageUrl);
        }
放在form2中这样写了之后 form1中的ListView和ImageList断点到form1中ImageList.images.count=1,ListView.item.count=1 form1中得到了数据,为什么ListView不现实出来,请问怎么解决啊?

解决方案 »

  1.   

    因为你frmMain f = new frmMain();
    重新new了一个主窗口了,所以imageList1也被重置了.
      

  2.   

         双击DataGridView中绑定的图片进入form2,
           Form2 form2= new Form2();
                Form2.Owner = this;   private void btnSelected_Click(object sender, EventArgs e)
            {
                string productID = label4.Text.Trim();
                string smallImageUrl = label2.Text.Trim();            frmMain f = new frmMain();
               frmMain f= (frmMain )this.Owner;
                f.AddimageList(productID, smallImageUrl);
            }
      

  3.   

    你在form2里面不要new frmMain()public partial class Form2 : Form
    {
        public frmMain form1;
        public Form2(frmMain fm1)
        {
            form1 = fm1;
            InitializeComponent();
        }    private void btnSelected_Click(object sender, EventArgs e)
        {
            string productID = label4.Text.Trim();
            string smallImageUrl = label2.Text.Trim();        //frmMain f = new frmMain();
            f.AddimageList(productID, smallImageUrl);
        }
    }
      

  4.   

    sorry
    private void btnSelected_Click(object sender, EventArgs e)
      {
      string productID = label4.Text.Trim();
      string smallImageUrl = label2.Text.Trim();  frmMain f= (frmMain)this.Owner;
      f.AddimageList(productID, smallImageUrl);
      }