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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Концепция контрола, Забиваю гвозди микроскопом? 
:(
    Опции темы
kk00rrww11nn
Дата 3.5.2010, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте. Необходимо написать контрол, разделенный на 144 клетки.  Для дальнейшей разработки удобнее было бы, чтобы каждая клетка была объектом. Я пошел следующим путем: создал класс CShape : Control в виде прямоугольника и помещал 144 таких прямоугольника в свой контрол. Причем контролов таких на форме тоже будет больше 100. Однако при скроллинге отрисовка тормозит. DoubleBuffer тут не помогает. 

Выглядит это примерно так:
user posted image

Подскажите, есть ли вообще шанс, что такая куча (14400) маленьких объектов будет нормально отрисовываться?  И если нет, то куда покопать, может я гвозди микроскопом забиваю?


PM MAIL   Вверх
kk00rrww11nn
Дата 4.5.2010, 08:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Попробую подробнее описать задачу. Я пишу приложение для формирования раскладки номера журнала (схемы размещения контента). Контрол - страница, на которую будут помещаться другой компонент (сам контент, с картинкой, названием, размером и тд). Нарисованная сетка - для удобства пользователя (визуально видно, куда кладешь; подсветка возможного места размещения и тд), а так же для вызова DragEnter, чтобы не заморачиваться на координаты мышки и точно знать, на какую ячейку навел пользователь. 
Можно конечно плюнуть на все красивости, нарисовать это на канве контрола и сделать один объект вместо 144, но хотелось все сделать просто и удобно. Ведь грид то как то отрисовывает свои ячейки, которые тоже объекты и их тоже не мало.
PM MAIL   Вверх
kk00rrww11nn
Дата 4.5.2010, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Что то Винград меня разочаровывает... Похоже пора применять принцип валидации.
PM MAIL   Вверх
jonie
Дата 9.5.2010, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



Цитата

Я пошел следующим путем: создал класс CShape : Control в виде прямоугольника и помещал 144 таких прямоугольника в свой контрол
зря. Рисуйте руками и все будет ок. Контролы будут тормозить. Посмотрите эксель - рисуют же, и не обламываются ... и объектаная модель есть, так что "удобнее чтобы были контролами" - фигня. Более того вам винда не даст создавать столько окон зачастую - просто вырубит ваше приложение.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
kk00rrww11nn
Дата 10.5.2010, 14:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(jonie @ 9.5.2010,  12:05)
зря. Рисуйте руками и все будет ок. Контролы будут тормозить. Посмотрите эксель - рисуют же, и не обламываются ... и объектаная модель есть, так что "удобнее чтобы были контролами" - фигня. Более того вам винда не даст создавать столько окон зачастую - просто вырубит ваше приложение.

Спасибо большое вам за совет, я так уже и поступил, контрол написал.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

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


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

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


 




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


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

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