![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| avyazemsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.3.2013 Репутация: нет Всего: нет |
Доброго времени суток.
Прошу совета/помощи в следующей задаче. Дано: Есть программа, написанная на delphi. В основной рабочей области создается большая таблица (200х200). Пользователь выделяет область и окрашивает клеточки в красный цвет. В тонкости программы (зачем это надо) вдаваться сейчас не имеет смысла. Вот пример рабочей области: http://i.stack.imgur.com/5BslB.png Задача: переписать программу на .NET (c#) Проблема: скорость выделения ячеек - очень большие тормоза. В программе на delphi ячейки выделяются мгновенно. Можно ли как-то оптимизировать таблицу? Другие операции, кроме выделения и закрашивания с ней производиться не будут. Есть ли быстрые сторонние компоненты? Или как это дело реализовать нативными средствами? Буду благодарен за любой совет. Спасибо. Готов отблагодарить материально за помощь в решении вопроса. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
А что ты используешь? Датагридвью? Так вроде не для этого он предназначен. Я видел компонент эксель-подобную таблицу, но это было давно и точно не помню где, кажись в галерее вижуал студио. Там вроде бесплатная версия имела ограничение на размер таблицы 150х150. Точнее не подскажу уже сейчас. Просто поищи там, может что и подойдет. Вот это например http://visualstudiogallery.msdn.microsoft....3FF9D?SRC=VSIDE -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| avyazemsky |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.3.2013 Репутация: нет Всего: нет |
diadiavova,
Спасибо за ответ! Да, использую datagridview или datagrid (wpf) и понимаю, что предназначен он совсем для другого. Полистал контролы по ссылке, попробую сегодня что-нибудь из них. Жаль платные и стоят дорого. Может быть Вы можете посоветовать альтернативу grid'ам? На соседнем форуме мне предложили "нарисовать" собственную таблицу под эти действия. Что Вы думаете по этому поводу? У меня с таблицей связана матрица - 0 для белых и 1 для красных ячеек. По double click ячейка меняет цвет. По нажатию правой кнопки вызывается контекстное меню, в котором можно окрашивать сразу несколько выделенных ячеек, инвертировать их цвет, копировать ячейки. Хотелось бы услышать Ваше мнение по поводу такой задачи. Спасибо. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Ну, можно, конечно, пофилософствовать на тему написания собственного контрола. Почему бы и нет?
В конечном итоге все контролы кто-то написал, стало быть вполне себе возможно сделать то же самое и самому. Мало того, это вполне может принести существенную выгоду по всем направлениям, ибо такой контрол не будет отягощён неиспользуемым функционалом и его работу всегда можно оптимизировать под конкретную задачу. В этом смысле написание собственного контрола - идея просто превосходная. Но с другой стороны надо понимать, что затраты на написание собственного контрола могут оказаться более существенными чем кажется, а выигрыш может себя не оправдать. Здесь нужно оценивать массу всевозможных "за" и "против", таких как: бюджет( может лучше купить), сроки(написание контрола может затянуться), да критичность решаемой проблемы тоже следует оценить здраво. Описанный функционал сложным не выглядит, так что если есть время попробовать, то почему бы и нет? -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |