Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 07.02.2012, 02:55   #1
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
DataGridView

Как в отдельную ячейку DataGridView поместить картинку?

Ну типа

DataGridView[1,1]=image.FromFile();
(Offline)
 
Ответить с цитированием
Старый 07.02.2012, 03:05   #2
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: DataGridView

Есть тип колонки. Есть стандартный тип, DataGridViewImageColumn.
А вообще гугл даёт отличные результаты на запрос: "DataGridView Image in cell"

http://msdn.microsoft.com/en-us/library/2ab8kd75.aspx

Можно ещё самому отрисовывать, но для этого нужно overload'ить Paint методы для самой таблицы.

Да, и так навигация по таблице не пройдёт. Вообще подход работы с таблицей другой.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Winner (10.02.2012)
Старый 07.02.2012, 03:13   #3
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: DataGridView

Я, естественно, искал в первую очередь в гугле, но так и не смог разобраться, как поместить картинку в отдельную ячейку. Весь столбец заполнить не проблема, а одну только нужную мне ячейку не сумел.
(Offline)
 
Ответить с цитированием
Старый 07.02.2012, 03:18   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: DataGridView

Ну дык, столбец - имеет лишь описание данных.
Строка - это отдельная запись, имеет список ячеек, тип данных которых зависит от столбца.
Вставляя строку, назначай картинку.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Winner (10.02.2012)
Старый 07.02.2012, 14:31   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: DataGridView

Такие ссылки лучше:
http://msdn.microsoft.com/ru-ru/library/2ab8kd75.aspx
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
moka (08.02.2012), Winner (10.02.2012)
Старый 07.02.2012, 18:00   #6
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: DataGridView

Не догоняю ни в какую. Всё, что у меня получается, это System.Drawing.Bitmap или что-то вроде этого.
(Offline)
 
Ответить с цитированием
Старый 11.02.2012, 02:47   #7
Winner
Нуждающийся
 
Регистрация: 28.09.2008
Сообщений: 98
Написано одно полезное сообщение
Ответ: DataGridView

Кое-как кое в чем разобрался. Вот как выглядит моя процедура для создания поля x на x.

        public void CreateField(int x)
        {
            createbutton.Enabled=false;
            field.RowCount = 0;
            field.ColumnCount = 0;
            for (int i = 0; i < x; i++)
            {
                DataGridViewImageColumn col = new DataGridViewImageColumn();
                col.Image = imageList1.Images[0];
                field.Columns.Add(col);
                field.Rows.Add();
                field.Rows[i].Height = (field.Height) / x;
                field.Columns[i].Width = (field.Width) / x;
                col.Dispose();
            }
        }
DataGridView field;


Думаю, понятно, что я использую DataGridView не как таблицу с данными, а это у меня поле для размещения нужных мне картинок. На деле я пишу игру Халма.
В моем случае imageList1.Images[0] - тупо прозрачная картинка png.

В общем прошу покритиковать и посоветовать, как можно модифицировать и улучшить эту процедуру.

Мое понимание следующее - я создаю колонки с типом картинки и дальше к ячейкам как и хотел обращаюсь по координатам, чтобы заменить картинку: field[0,0].Value=imageList1.Images[1];
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 04:48.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com