首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

小弟我有两个窗体form1和form2,如何在form2中点击按钮增加form1中ImageList1里面的图片,然后绑定到form1中的listview上面

2012-02-17 
我有两个窗体form1和form2,怎么在form2中点击按钮增加form1中ImageList1里面的图片,然后绑定到form1中的li

我有两个窗体form1和form2,怎么在form2中点击按钮增加form1中ImageList1里面的图片,然后绑定到form1中的listview上面。
rt

form1窗体中放入的是一个DataGridView绑定的原始图片列表,还有ImageList和ListView控件用来装载特殊的图片,双击DataGridView中绑定的图片进入form2中的图片详细信息,form2中有一个按钮是用来给ImageList和ListView赋值的,增加数据到ImageList和ListView中的,可是现在没有反映,请帮忙看看,谢谢。


form1代码: form1中的代码button1_Click用来测试的,放在本页调用AddimageList是可以成功给ImageList和ListView增加数据的。

C# code
        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代码:
C# code
        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不现实出来,请问怎么解决啊?

[解决办法]
因为你frmMain f = new frmMain();
重新new了一个主窗口了,所以imageList1也被重置了.
[解决办法]
双击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);
}


[解决办法]
你在form2里面不要new frmMain()
C# code
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);    }}
[解决办法]
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);
}

热点排行