首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图片列表、列表视图、图片框

图片列表、列表视图、图片框
EN

Stack Overflow用户
提问于 2010-12-29 03:50:51
回答 3查看 5.8K关注 0票数 1

我想在picturebox中展示我的照片。但也想要展示照片的预览。当用户选择一张图片时,它显示在picbox中,但我在解决方案中有问题。

以下是我的代码

代码语言:javascript
复制
  private void openToolStripMenuItem_Click(object sender, EventArgs e)
{           

            ofd = new OpenFileDialog();
            ofd.Title = "Open an Image File";
            ofd.FileName = "";
            ofd.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp)|*.jpg; *.jpeg; *.gif; *.bmp";
            if (ofd.ShowDialog() == DialogResult.OK)
            {
 DirectoryInfo dir = new DirectoryInfo(@"c:\pic");  
foreach (FileInfo file in dir.GetFiles()) 
{
this.imageList1.Images.Add(Image.FromFile(file.FullName));
}
this.listView1.View = View.LargeIcon;
this.imageList1.ImageSize = new Size(40, 40);
this.listView1.LargeImageList = this.imageList1;

 for (int j=0; j < this.imageList1.Images.Count; j++)                           {
  ListViewItem item = new ListViewItem();
                                item.ImageIndex = j;                                
                                listView1.Items.Add(item);

                                ListViewItem item2 = new ListViewItem();
                                item2.SubItems.Add(j.ToString());                     



                            }  
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {

            int i = this.listView1.FocusedItem.Index;

            this.PicBox1.Image = this.imageList1.Images[i];

        }

单击时,我只能看到分辨率为(40,40)的图像,因为我将其设置为this.imageList1.ImageSize = new Size(40,40);而不是原始大小。我怎么能拥有它呢。2-我还想在每个图像下写下图像名称和索引(图像编号)。这是可能的。reagrsd,

EN

回答 3

Stack Overflow用户

发布于 2010-12-29 05:37:54

我想,在你加载了一个分辨率为40,40的图像到imageList之后,就没有办法让它更高了。

票数 2
EN

Stack Overflow用户

发布于 2011-12-27 05:58:05

您应该将原始图片保存在另一个容器中,如List<>,并显示列表中的原始图像,而不是图像列表中的原始图像:)

票数 1
EN

Stack Overflow用户

发布于 2014-11-04 19:35:23

代码语言:javascript
复制
   -Create a new imagelist (imagelist1)**
   -Add images to your imagelist 
   -Create a new listview (listview1)
   -Create a picturebox (picturebox1)
   -Create a new button (button1)
   -Create another button (button2)**

    -Import  images from imagelist1 to listview1

    private void button1_Click(object sender, EventArgs e)
    {
        listView1.Scrollable = true;
        listView1.View = View.LargeIcon;
        imageList1.ImageSize = new Size(100, 100);
        listView1.LargeImageList = imagelist1;

        for (int i = 0; i < imagelist1.Images.Count; ++i)
        {
            string s = imagelist1.Images.Keys[i].ToString();
            ListViewItem lstItem = new ListViewItem();
            lstItem.ImageIndex = i;
            lstItem.Text = s;
            listView1.Items.Add(lstItem);
        }
    }

     - Set the selected image into your picture box from listview

      private void button2_Click(object sender, EventArgs e)
    {
        if (this != null && listView1.SelectedItems.Count > 0)
        {
            ListViewItem lvi = listView1.SelectedItems[0];
            string imagekeyname = lvi.Text;

            if (this.pictureBox1.Image != null)
            {
                this.pictureBox1.Image.Dispose();
                this.pictureBox1.Image = null;
            }

            //set the selected image into your picturebox
            this.pictureBox1.Image = imagelist1.Images[imagekeyname];

        }
    }

一切都结束了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4548980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档