powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как загрузить картинку в PictureBox на VB из поля типа Image
9 сообщений из 9, страница 1 из 1
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39231789
GROM17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поздравляю всех с Днем Победы!
Подскажите, пожалуйста, как загрузить картинку в PictureBox на VB из поля типа Image таблицы базы данных.

Основные советы сводятся к использованию функции LoadPicture, но она у меня (на VS 2015) не определена. Может быть нужно добавить какую-то ссылку в проект, чтобы ее определить.

Может быть можно воспользоваться ClipBoard, но такая последовательность не проходит:

My.Computer.Clipboard.SetImage(rstEmployees.Fields.Item("Photo").Value)
PictureBox1.Image = My.Computer.Clipboard.GetImage()

В первом операторе происходит ошибка преобразования типов
System.Byte[] к System.Drawing.Image

Заранее благодарю.
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39232108
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Назначьте для PictureBox источник в виде поля таблицы Image.
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39233477
GROM17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Спасибо, мне это приходило в голову.
На VS 2015 для PictureBox нет такого свойства (DataSource).
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39233952
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GROM17,

DataSource у контролов которые разного рода списки показывают.
У тех, которые показывают одно значение - DataBinding.

Вот кусок кода, который сгенерила студия:

Код: c#
1.
this.pictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.questionBindingSource, "Img", true));
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39234462
GROM17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
спасибо за подсказку.
Осталось только создать привязку к полю типа "Image" таблицы.
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39234642
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
GROM17Осталось только создать привязку к полю типа "Image" таблицы.
Вы сможете!
На самом деле это очень просто.
Главное понять парадигму привязки.

Есть какие-то данные, есть контрол, который их должен изображать.
Контрол должен иметь какой-то источник данных, если это не поля для ввода логина и пароля.
Ведь мы не хотим чтобы все любовно введенные данные пропадали навсегда после закрытия программы?

А данные могут иметь самый разный вид: таблица, класс, список классов, массив, значение поля класса, значение свойства контрола и так далее, и тому подобное.

Некоторые из данных могут быть привязаны к значению контрола напрямую. И не только к значения. Могут к его свойству. Типа если шрифт формы Вердана, то и шрифт лейбла тоже должен быть Вердана.


Поэтому Микрософт нагло уперла идею промежуточного звена у кого-то. Ведь не могли тупые микрософтовцы это сами придумать?

Это промежуточное звено называется BindingSource.

Сначала строим для источника данных, потом привязываем его к контролу.
У BindingSource два смешных свойства. DataSource и DataMember. Как его зовут и кто из него нам нужен.

Причем если зовут его по папе Массив Одномерный, то DataMember можно не вспоминать. Глупо же искать различия между близнецами?

DataSource - это объект. DataMember - имя кого-то из семьи из этого объекта.

Итак, сначала строим свое BindingSource, а потом привязываем к нему контрол. Обычно все делается мышкой.

Код: c#
1.
this.pictureBox.DataBindings.Add(new System.Windows.Forms.Binding("Image", this.questionBindingSource, "Img", true));




"Image" - свойство которое мы хотим отображать у PictureBox.

this.questionBindingSource - BindingSource, который построен к DataTable из Dataset.

"Img" - имя поля в таблице
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39234659
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,авторВы сможете! вы прям как Кашпировский, у меня на клаве уже будильник включился)
http://www.saramgsilva.com/index.php/2013/c-how-to-convert-byte-to-bitmap/
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39235452
GROM17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
большое спасибо, за подробное объяснение.

Это - ссылка на документацию:
https://msdn.microsoft.com/ru-ru/library/system.windows.forms.control.databindings(v=vs.110).aspx

В моем случае:
Dim DS = New dsEmployees
TextBox1.DataBindings.Add _
(New Binding("Text", DS, "Employees.LastName", True))

При выполнении выдает сообщение:
...
Рейтинг: 0 / 0
Как загрузить картинку в PictureBox на VB из поля типа Image
    #39235513
GROM17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
большое спасибо. Я во всем разобрался.
На мое предыдущее сообщение не обращайте внимания.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как загрузить картинку в PictureBox на VB из поля типа Image
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]