178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
1 | |
Как разместить в окне таблицу строковых значений?27.01.2017, 11:38. Показов 1059. Ответов 7
Метки нет (Все метки)
Всем здравствуйте.
Есть проинициализированный различными значениями двухмерный массив строк s(23,27). Нужно отобразить его содержимое в графическом окне. Делаю так: 1) рисую графический файл с сеткой, присваиваю его свойству Image PictureBox - это подложка. 2) создаю массив меток lbl(23,27) с прозрачным фоном, задаю позицию, размеры этих меток ну и ряд других свойств (шрифт, выравнивание, цвет чернил,...). 3) добавляю этот массив меток в коллекцию PictureBox. 4) инициализирую метки соответствующими значениями из строкового массива s(23,27). Проблема: на офисном компьютере (два ядра по 2,6 GHz, 2 Gb памяти, встроенное видео) картинка появляется с неприятной "анимацией". В течение 1-2 секунд я вижу построчную прорисовку хотя и в ускоренном режиме. На серьёзном компьютере картинка просто быстро, но неприятно мигает. До этого в программе, написанной на VB-6 создание первого ряда из 27 меток производилось в дизайнере и затем этот ряд меток повторялся уже в runtime (Load) ещё 23 раза. Также использовался PictureBox с картинкой сетки (подложкой). Ничего не моргало и мгновенно отображалось даже на Pentium 100 c 128 Mб ОЗУ! Как избавиться от неприятного мигания при создании и размещении меток? (Использование именно Label для отображения значений обуславливается наличием в них таких свойств как выравнивание, смена цвета чернил без смены текста (выделение цветом) ,наличие обработчика события MouseClick)
0
|
27.01.2017, 11:38 | |
Ответы с готовыми решениями:
7
Разместить в окне таблицу с параметрами, заданными при исполнении программы Как разместить plot в окне программы Как разместить изображение в консольном окне? Как разместить элементы управления в главном окне? |
1530 / 1478 / 322
Регистрация: 03.10.2012
Сообщений: 1,517
|
|
27.01.2017, 12:19 | 2 |
А вы не рассматривали вариант использования для этих целей DataGridView? Все перечисленные свойства имеются
у ячеек этого контрола
1
|
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
27.01.2017, 13:30 [ТС] | 3 |
MrCrown, спасибо за идею. Обязательно попробую.
0
|
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
27.01.2017, 13:50 [ТС] | 4 |
MrCrown, а в DGV можно реализовать утолщённые вертикальные разделительные линии (как на картинке):
0
|
27.01.2017, 14:43 | 5 |
jkrnd, можно создать собственный контрол с нужным функционалом, в котором все придется прорисовывать самостоятельно, но это задача достаточно сложная. Так что лучше либо найти готовый контрол для работы с таблицами, либо использовать WebBrowser.
1
|
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
|
28.01.2017, 09:41 [ТС] | 6 |
MrCrown, использовал вместо массива Label контрол DataGridWiev, всё равно изображение при загрузке формы мигает и отчётливо заметна "анимация". Примеры во вложениях. Что я не так делаю, подскажите пожалуйста?
0
|
1530 / 1478 / 322
Регистрация: 03.10.2012
Сообщений: 1,517
|
|||||||||||
28.01.2017, 13:09 | 7 | ||||||||||
Сообщение было отмечено jkrnd как решение
Решение
jkrnd, Для проекта с DGV помогла двойная буферизация.
Сделал так (код процедуры подсмотрел где-то здесь на форуме)
1
|
178 / 68 / 13
Регистрация: 22.12.2015
Сообщений: 2,648
|
||||||
28.01.2017, 13:59 [ТС] | 8 | |||||
MrCrown, Это победа! Спасибо.
Не по теме: Вы в очередной раз спасли меня от разочарования в возможностях VS.NET :) Добавлено через 40 секунд ещё на работе на слабом компе попробую - отпишусь Добавлено через 10 минут MrCrown, для варианта с Label попробовать не смог :
0
|
28.01.2017, 13:59 | |
28.01.2017, 13:59 | |
Помогаю со студенческими работами здесь
8
Как в одном окне проекта разместить другое окно Как разместить много информации с картинками в одном окне? Как разместить таблицу по центру? Как разместить таблицу векторов прерываний в atmega8? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |