简体   繁体   中英

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

I am trying to click on an image in a datagridview and then write its image/file name into a textbox so I can access this from elsewhere.

First I try just a small app to make sure I can make it all work. A Dialog contains the dataviewgrid and I put a bitmap into it as below:

public ChooseFormat()
        {

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

Now I click on the image but all the things I have tried I cannot get hold of the file name. The closest I get is below but this returns "System.Drawing.Bitmap" and not the file name. I am sure this must just be a tweak here to make it work but I have tried teh few things I know and nothing is working.

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

Drilling into the cells's data in the debugger doesn't bring up any info on the source of it. Maybe I have overlooked something..

One simple solution is to store the filename in the cell's Tag property:

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 ; 

Now you can always access it:

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

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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