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

时间:2015-11-13 09:13:07

标签: c# 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();
        }

2 个答案:

答案 0 :(得分:3)

在调试器中钻取单元格的数据不会显示有关其源代码的任何信息。也许我忽视了一些事情......

一个简单的解决方案是将文件名存储在单元格的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();

答案 1 :(得分:0)

我在同一张表格上放了一个相框,这就是我在图片框中显示ImageColumn的数据(图片)

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