繁体   English   中英

在datagridview中单击图像时,如何获取位图名称?

[英]How do I get the Bitmap name when I click the image in datagridview?

我试图单击datagridview中的图像,然后将其图像/文件名写入文本框,以便可以从其他位置访问它。

首先,我尝试仅使用一个小型应用程序,以确保可以正常运行。 一个对话框包含dataviewgrid,我将一个位图放入其中,如下所示:

public ChooseFormat()
        {

            InitializeComponent();
            dataGridView1[0,0].Value = new Bitmap(@"C:\a\eggs\grid_app\grid_app\bin\Debug\graphics\1L5HQ60.bmp"); 
        }

现在,我单击该图像,但是我尝试的所有操作都无法获取该文件名。 我得到的最接近的是下面,但这将返回“ System.Drawing.Bitmap”,而不是文件名。 我敢肯定,这只是在这里进行一些调整才能使其起作用,但是我已经尝试了一些我所知道的事情,但是没有任何效果。

        void DataGridView1CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            txtbx_choice.Text = dataGridView1[0,0].Value.ToString();
        }

在调试器中钻取单元的数据不会在源上显示任何信息。 也许我忽略了一些东西。

一种简单的解决方案是将文件名存储在单元格的Tag属性中:

string fileName = @"C:\a\eggs\grid_app\grid_app\bin\Debug\graphics\1L5HQ60.bmp";
dataGridView1[0,0].Value = new Bitmap(fileName ); 
dataGridView1[0,0].Tag = fileName ; 

现在您可以随时访问它:

string displayedFile = dataGridView1[0, someRow].Tag.ToString();

我已经在同一窗体上放置了一个图片框,这就是我在图片框中显示ImageColumn的数据(Image)的方式

pictureBox1.Image = (Image)dataGridView1[0, 0].Value;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM