Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2014, 13:16   #1
MasterK
Пользователь
 
Регистрация: 27.08.2009
Сообщений: 28
По умолчанию Сложная шапка таблицы

Здравствуйте. мне необходимо сделать сложную шапку. Нашел тему на форуме http://www.programmersforum.ru/showthread.php?t=206963 где есть способ по работе с datagridview. Но при использовании данного метода происходит мерцание шапки(видимо из-за перерисовки постоянной).
Пишут про использование SourceGrid, но я так нигде не нашел примеров, как сделать такую шапку в нем.
Так как такое сделать?
Изображения
Тип файла: jpg 56.JPG (27.0 Кб, 119 просмотров)
MasterK вне форума Ответить с цитированием
Старый 05.01.2014, 13:59   #2
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Не знаю, поможет ли, но можете попробовать, много времени не займёт. Один из способов убирать мерцание у компонентов - это отнаследоваться от него своим классом и выставить в конструкторе
Код:
DoubleBuffered = true;
И этот компонент уже разместить вместо обычного грида на форме (удобно просто в файлике .designer поменять тип DataGridView->MyDataGridView, тогда студия всё сама подхватит).
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Старый 05.01.2014, 14:39   #3
MasterK
Пользователь
 
Регистрация: 27.08.2009
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Selestis Посмотреть сообщение
Не знаю, поможет ли, но можете попробовать, много времени не займёт. Один из способов убирать мерцание у компонентов - это отнаследоваться от него своим классом и выставить в конструкторе
Код:
DoubleBuffered = true;
И этот компонент уже разместить вместо обычного грида на форме (удобно просто в файлике .designer поменять тип DataGridView->MyDataGridView, тогда студия всё сама подхватит).
Да мерцание пропало, но за то при изменении ширины столбцов, когда вы зажимаете лкм и начинаете перемещать, столбец не изменяет свое положение(т.е. нет отрисовки перемещений), до тех пор пока не отпустить лкм. Тогда столбец принимает свои новые размеры...
Не желательный эффект...

Последний раз редактировалось MasterK; 05.01.2014 в 14:43.
MasterK вне форума Ответить с цитированием
Старый 05.01.2014, 16:52   #4
Selestis
Форумчанин
 
Аватар для Selestis
 
Регистрация: 21.01.2009
Сообщений: 719
По умолчанию

Так устроен сам компонент DataGridView - он обновляет размер только при отпускании мыши. Это не связано с тем, что убралось мерцание. Можно конечно это обойти, но нужно извращаться, не факт что оно того стоит:
- запомнить при нажатии мыши активную колонку и её ширину
- следить за mousemove при зажатой мыши и менять вручную размер, вызывая отрисовку
Изобретатель велосипедов
Selestis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложная задача: Среди элементов заданной строки таблицы найти самый левый из тех, что принадлежат наибольшему количеству столбцов fobos-159 Паскаль, Turbo Pascal, PascalABC.NET 6 17.11.2013 21:05
Нескролирумая шапка таблицы ts-alan HTML и CSS 1 18.06.2013 18:40
Сложная шапка таблицы RedScreenOfLife C# (си шарп) 8 10.07.2012 09:07
Шапка! VoVchik11 Microsoft Office Word 1 24.03.2011 23:28
Шапка таблицы Aiorosu БД в Delphi 10 24.03.2009 10:24