首页 > 解决方案 > 通过拖放将选定的列表视图图像显示到图片框

问题描述

我已经有一段时间了,但我就是无法得到它,我想将选定的 listview-image 拖放到图片框中。

   private void listView1_DragDrop(object sender, DragEventArgs e)
        {
            if (listView1.SelectedIndices.Count == 0)
                return;
            Int32 item = listView1.SelectedIndices[0];
            Image img1 = imageList1.Images[item];
            pictureBox1.Image = img1;
        }

奇怪的是,图片框中显示错误的图像
希望您能帮助我。
问候

标签: c#

解决方案


我不确定SelectedIndices

那么SelectedItems呢?

private void listView1_DragDrop(object sender, DragEventArgs e)
{
    if (0 < listView1.SelectedItems.Count)
    {
        var item = listView1.SelectedItems[0];
        Image img1 = imageList1.Images[item.ImageIndex];
        pictureBox1.Image = img1;
    }
}

编辑 - 好的,你是个菜鸟。没关系。我只是没有意识到。

首先,确保设计器中的ImageList中包含图像。

  1. 选择imageList1控件
  2. 单击图像集合
  3. 添加您的图像
  4. 点击确定

图像列表

接下来,将ListView控件设置为使用此ImageList

列表视图设置图像列表

仍然选择ListView控件...

  1. 选择listView1控件
  2. 单击项目集合
  3. 添加一个新的ListViewItem
  4. 给它一些文本(我使用“项目 1”)
  5. 选择一个图像索引

列表显示

这只是为了一个简单的答案而写的很多。您最好在此处查看 Microsoft 的演练文档:

演练:在 Windows 窗体中执行拖放操作


推荐阅读