Есть dataGridView, в котором выведена БД. Хочу, чтобы при двойном щелчке по ячейке открывалось изображение, которое хранится как ссылка в ячейке. Имею код:
private void dataGridView1_DoubleClick(object sender, EventArgs e)
{
var link = dataGridView1.SelectedCells;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = Image.FromFile(link);
}
Возникает ошибка: Ошибка 2 Аргумент "1": преобразование типа из "System.Windows.Forms.DataGridViewSelectedCellCollection" в "string" невозможно
Подскажите, как правильно написать код.
Попробовал ещё один вартант:
string p = Convert.ToString(dataGridView1[0, dataGridView1.CurrentRow.Index].Value.ToString());
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox1.Image = Image.FromFile(p);
Также не работает.
Вместо события двойного клика по всему гриду, следует использовать событие двойного клика по конкретной ячейке.
private void DataGridView_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == 1) // индекс колонки с линком
{
var link = dataGridView[e.ColumnIndex, e.RowIndex].Value.ToString();
//pictureBox.Load(link);
//pictureBox.LoadAsync(link);
}
}
Если значение в ячейке является валидным url'ом, его можно просто передать в метод Load
пикчабокса (или LoadAsync
, если загрузка будет долгой, например, из интернета).
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как изменить фоновый цвет приложения WinForms сделанное с помощью фреймворка MetroFramework ?
Как должно все работатьПри свайпах по панели должна вращаться камера
У меня стоит vs15Я взял код из интернета и решил в нём разобраться