It's Eddie! Ответов: 1

C# - установить автопрокрутку панели на автопрокрутку панели внутри?


Эй Codeproject,

В настоящее время у меня есть панель внутри панели, панель внутри другой (названная TilePanel), может изменять свой размер и поэтому получает свои собственные полосы прокрутки (свойство AutoScroll установлено в true). Я поместил его в другую панель (панель выравнивания), чтобы правильно центрировать его, не испортив ни кода чертежа, ни других событий.

Теперь мой вопрос заключается в том, Могу ли я удалить автоматические прокрутки из панели TilePanel и вместо этого поместить эти автоматические прокрутки в большую панель, которая ее охватывает?

Вот пример, который я сделал в краске.

Как бы то ни было, я также опубликовал AlignmentPanel на сайт Pastebin.

с уважением,
- ЭЦП

Что я уже пробовал:

Я попытался установить автопрокрутку tilepanel в false, затем создал новую горизонтальную полосу прокрутки и вертикальную полосу прокрутки и добавил их на панель выравнивания. Затем, когда они прокручиваются, я устанавливаю значения автопрокрутки tilepanel на новые значения полос прокрутки - однако, похоже, это ошибка и спазм, возможно, я что-то упускаю, не уверен.

1 Ответов

Рейтинг:
0

It's Eddie!

Спасибо за ссылки, Рик. Проблема в том, что они предполагают, что содержащийся элемент управления слишком велик - однако моя TilePanel всегда меньше, чем панель сдерживания. Причина, по которой TilePanel может автоматически прокручиваться, заключается в том, что он содержит кнопку, которая всегда находится на краю размера (это TileControl, поэтому внутри него есть действительно большая сетка.)

Это выглядит довольно некрасиво крошечные полосы прокрутки внутри него, поэтому я пытаюсь найти способ, чтобы поставить новые полосы прокрутки на панели, содержащие вместо TilePanel (думайте о нем, как в фотошопе, где полосы прокрутки на стороне, а не на элемент управления PictureBox/изображения/редактирование поля.)