Какой лучше подойдет контрол для такой задачи?
На форме расположены (на экране видны) квадратики (прямоугольники) небольшого размера. Штук 500. Будут расположены в 12 рядов. Весь ряд на экране не поместится, значит будет полоса прокрутки.
Требования к этим контролам:
1) не обязательно: бордюр разного цвета, т.е. каждый ряд будет иметь границы своего цвета. Хотя это можно будет по другому как-то выделить.
2) обязательно: на контроле должна быть надпись (ориентировочно 4 символа, или 2 строки по 4 символа) мелким шрифтом. В Access попробовал: для кнопок & выключателей самый мелкий шрифт 8 пт, желательно мельче. При определенных событиях возможно изменение надписи.
3) обязательно: разный цвет фона контрола (меняется при определенных событиях)
4) обязательно: где-то подсказка при наведении мышки на контрол.
5) обязательна реакция на события:
- onMouseOver мышка над контролом
- onMouseOut мышка ушла с контрола
- onMouseDown, onMouseUp нажали отпустили мышку
- onClick при клике где-то должно появиться контекстное меню
Сам я с ходу думаю, что для этого подходит HTML-таблица. Каждый контрол - ячейка таблицы.
Что мне в этом не нравится: каждому контролу ставится в соответствие запись в БД, при событиях информация в БД извлекается/изменяется. Мне проще всякие БД-вещи делать на VB/*.mdb, потому что проще вспомнить как делал, чем заново осваивать. Кроме того, принципиально не нравится идея - делать HTML-страничку со скриптами. И хотя есть опыт использования IIS+asp+*.mdb, пока тоже прохладно отношусь к этому.
Т.е. изначально думал сделать это в VB или Access. В какой-то мере - это некий аналог пазлов и много лет назад я пазлы делал прямо в Excel-перемещение PictureBox. Но тут 500 контролов!
Еще идея пока - расчертить форму линиями в сетку, в каждой ячейке расположить Label и просто отслеживать координаты мышки (и события) над формой.
Что скажете?