同学,你好。其实这个问题不算很难,这里你只要理清一个思路,那就是:如何获取ListView中项(也就是图片),然后如何加载到PictureBox?其实这两个问题只需要解决前一个问题就行了,因为后面的那个只需要调用静态方法Image.FromFile()就行了,而里面的参数是一个图片文件的全路径。对于如何获取ListView中的项,其实ListView有一个实例方法GetItemAt()。在ListView的MouseDown事件中,使用该方法得到图片的全路径。然后参照上面我说的,加载图片就可以得到你要的结果了。
由于时间有限,代码就不写了,给你一个思路!有了思路,我相信你肯定写的出来的!
你B窗体中的listview中的图片,你肯定是能正常显示的,对吧?
那么,就可以获取这个image的url了,对吧?
有了image的url了,那么,将它传入到A窗体中,然后,让A窗体中的pictruebox去加载url,对吧??
这样不就达到你要到效果了么???
取url貌似不够直接。可以直接传递图像。下面是B窗体代码,A里面直接写个显示的就O了。
Form1 f1 ;
public listForm()
{
InitializeComponent();
for (int i = 0; i < 8; i++)
{
imageList1.ColorDepth = ColorDepth.Depth24Bit;
imageList1.ImageSize = new Size(60, 60);
//添加debug下的图像到imagelist
imageList1.Images.Add(Image.FromFile(Application.StartupPath + "\\" + (i + 1).ToString() + ".jpg"));
listView1.LargeImageList = imageList1;
listView1.Items.Add("可爱宝宝" + (i + 1).ToString());
listView1.Items[i].ImageIndex = i;
}
}
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
foreach (ListViewItem lt in listView1.SelectedItems)
{
Image img;
img = lt.ImageList.Images[lt.ImageIndex];
//把取得的图像传递给picturebox所在窗体
f1 = new Form1(img);
f1.Show();
}
}