我有两个窗体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);
}