2010-04-17 4 views
0

Я хочу рисовать таблицу в C# Windows Forms с помощью GDI +. Когда количество прямоугольников слишком велико, чтобы все прямоугольники отображались в форме, они не прокручиваются. И не может получить доступ к тем, кто не соответствует форме.GDI + Проблема, возникающая при рисовании кратных прямоугольников на форме

Что мне нужно сделать, чтобы увидеть все, что я рисую на форме?

Спасибо.

ответ

1

Используйте панель или UserControl для рисования, сделайте ее достаточно большой, чтобы ваша полная таблица соответствовала, а затем дала автопрокрутку формы.

Компонент не заботится о том, что вы нарисовали на нем или где. Полоски прокрутки не волшебным образом появляются только потому, что вы рисуете что-то в том месте, где его не видно. Таким образом, либо используйте компонентную лагу, достаточную для вашего рисунка (вы должны знать, насколько он большой), и пусть контейнер прокручивается. Или используйте полосы прокрутки напрямую и соответствующим образом переведите чертеж. Последний вариант более сложный, хотя :)

1

Создайте UserControl, где вы рисуете таблицу. Установите его высоту и ширину на всю высоту и ширину (т. Е. Не ограничиваясь размером формы, но связанными с размером таблицы). Теперь положите управление на панель и активируйте полосы прокрутки.

Смежные вопросы