Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Имя загруженной картинки в pictureBox, как определить имя картинки 
:(
    Опции темы
kuller
Дата 3.9.2009, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Здравствуйте!

Вобщем есть определенное количество картинок и такое же количество pictureBox ..... картинки в pictureBox загружаются случайным образом. Загружаю вот так вот:
Код

pictureBox1.Load(Convert.ToString(A[0]) + ".jpg");

в массиве хранятся номера картинок и вобщем получается название картинки.

Ну так вот вопрос:

Как получить имя, загруженной картинки в любой из pictureBox????

Заранее спасибо!
PM MAIL   Вверх
psiallon
Дата 3.9.2009, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 22.8.2009
Где: Оренбург

Репутация: нет
Всего: 1



Вот так:
Код

string fileName = pictureBox1.ImageLocation;

PM MAIL ICQ   Вверх
kuller
Дата 3.9.2009, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



psiallon, большое спасибо, это то, что мне нужно было!!!
PM MAIL   Вверх
kuller
Дата 4.9.2009, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



psiallon, когда я файл (картинку) не добавлял в ЕХЕ, то методом pictureBox1.ImageLocation я мог определить имя попавшей в этот pictureBox картинки.

Теперь я решил чтобы картинки были в ЕХЕ, следовательно теперь по другому их загружаю в pictureBox:

Код

            string s = "1"; //к примеру в переменную s случайным образом папало имя картинки 1
            pictureBox1.Image = ((System.Drawing.Image)(global::test.Properties.Resources.ResourceManager.GetObject(s)));


таким образом в pictureBox1 загружается картинка 1.jpg.

а вот теперь если пробую вывести ИМЯ ЗАГРУЖЕННОЙ картинки:

Код

MessageBox.Show(pictureBox1.ImageLocation, "test", MessageBoxButtons.OK);


то оно уже ничего не выводит(((

Как быть в этом случае??? Как получить имя РЭНДОМОМ загруженной картинки???

Заранее спасибо!!!
PM MAIL   Вверх
Экскалупатор
Дата 4.9.2009, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



попробуй так

Код
 
private void pictureBox_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            MessageBox.Show("название:" + (sender as PictureBox).Name.ToString());
        }



Это сообщение отредактировал(а) Экскалупатор - 4.9.2009, 21:21
PM MAIL ICQ   Вверх
kuller
Дата 4.9.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Экскалупатор, так получается, что я должен кликнуть на определенный PictureBox, а мне нужно узнать к примеру имя картинки, загруженной в PictureBox10 ... возможно ли такое вообще????
PM MAIL   Вверх
Экскалупатор
Дата 5.9.2009, 01:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



м-м-м, а какая разница? обращайся к конкретному PictureBox и все. 
Код

string fileName = pictureBox10.Name;

вроде должно все работать.
PM MAIL ICQ   Вверх
kuller
Дата 5.9.2009, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Экскалупатор, если сделать так:

pictureBox10.Name

то я получаю не ИМЯ КАРТИНКИ, а ИМЯ САМОГО pictureBox, а именно pictureBox10.

Этот вариант тоже не подходит.
PM MAIL   Вверх
Экскалупатор
Дата 5.9.2009, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



))))))))))))))
точно, извини, просто забыл дописать, я когда подобную штуку делал то при загрузке картинки в PictureBox, присваивал PictureBox имя картинки, а потом просто запрашивал имя PictureBox и все работало. еще раз извини, просто давно писал уже. вообще я если честно не совсем понимаю суть задачи, если картинка загружается в PictureBox, то ведь она откуда то берется, а если она откуда то берется, то ее имя (и полный путь), должны быть известны до загрузки в PictureBox. а если так то почему нельзя его просто использовать? или в PictureBox можно каким то случайным образом закинуть случайную картинку и он (PictureBox) даже не будет знать откуда она?
PM MAIL ICQ   Вверх
kuller
Дата 5.9.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Экскалупатор, вобщем все картинки, которые используются в этом приложении я добавляю в ЕХЕ, т.е. все имена картинок имеются в Resources, ну т.е. все картинки я добавляю в Resources приложения. Картинки названы 1, 2, ...., n. Создаю массив размером n и заполняю его числами тоже от 1 до n СЛУЧАЙНЫМ ОБРАЗОМ. Затем из этого массива достаются имена картинок и картинки грузятся в pictureBox, pictureBox тоже количество n.

к примеру в pictureBox9 попала картинка:
Код

pictureBox9.Image = ((System.Drawing.Image)(global::TEST.Properties.Resources.ResourceManager.GetObject(NamePicture[8])));


ну и потом в ходе выполнения программы я конечно по номеру pictureBox могу посмотреть в массиве ИМЯ загруженной в этот pictureBox картинки, но это же ПРИМИТИВНЫЙ способ, ну и самое первое, что приходит на ум.

Вот я и думал, что может у pictureBox есть сразу там свойство или метод, позволяющий определить имя загруженной в него картинки!

Это сообщение отредактировал(а) kuller - 5.9.2009, 20:36
PM MAIL   Вверх
Экскалупатор
Дата 5.9.2009, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



мне кажется что у PictureBox не  должно быть метода или свойства, которое помнило бы или что либо знало о загруженной картинке, потому как картинки в PictureBox могут загружаться, а могут создаваться(рисоваться программно) прямо в программе или даже просто пользователем, а по сему PictureBox выступает просто для отображения того что захочет программист и ему (PictureBox) знать имя картинки совсем для этого не нужно. но это просто отступления в сторону.
в принципе ты всегда можешь написать свой PictureBox и реализовать в нем поле для хранения имени загружаемой картинки.


P.S. и назвать его как нибудь: "Мой PictureBox, с блекджеком и шлюхами!"

Это сообщение отредактировал(а) Экскалупатор - 5.9.2009, 21:03
PM MAIL ICQ   Вверх
kuller
Дата 5.9.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Экскалупатор, хорошая идея по поводу названия нового компонента))))
Ладно буду вытаскивать имена картинок из массива и не тратить зря время, скорей всего реально у PictureBox нет такого метода!
PM MAIL   Вверх
Heinzz
Дата 6.9.2009, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 3
Всего: 9



Еще вариант: Есть свойство PictureBox1.Tag его можно использовать  для сохранения имени картинки во время ее помещения   ну а потом к нему обращаться за этим именем smile


--------------------
user posted image
PM MAIL   Вверх
kuller
Дата 6.9.2009, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Heinzz, спасибо за идею!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0556 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.