Прокручиваемый размер панели Winform
Я использую VS2015/C# на Win10 для тестирования панели управления:
Добавьте 50 элементов управления PictureBox в панель panel1:
Image img = изображение.FromFile (Приложение.StartupPath + @ "\1. png"); / / любое изображение
панель 1.Автопрокрутка = истина;
панель 1.Высота = 500;
for (int i = 0; i < 50; i++)
{
Элемент управления PictureBox ПБ = новый элемент управления PictureBox();
pb. Left = i*10;
ПБ.Топ = я * (рис.Высота + 10);
ПБ.SizeMode = PictureBoxSizeMode.Авторазмер;
ПБ.Изображение = ИМГ;
toolTip1.SetToolTip(ПБ, я.Метод toString()+": "+ПБ.Топ.Метод toString());
панель 1.Управления.Добавить (pb);
}
Если "верх" графической коробки меньше 32767, то графическую коробку можно поместить в правильное положение. Но если "верх" графической коробки больше 32767, то графическая коробка не может быть помещена в правильное положение, она будет помещена в нижнюю часть панели. Другими словами, максимальная прокручиваемая высота панели управления равна 32767.
Я хочу, чтобы все поле изображения находилось в нужном положении на панели. Есть ли способ увеличить прокручиваемый размер панели?
Что я уже пробовал:
Эта проблема существует на Win7 / 8 / 10, но не найдена в WinXP. Это не имеет никакого отношения к версиям VS и версиям .NET framework, а только к версиям Windows.
Dharmesh .S. Patil
Попробуйте использовать элемент управления FlowLayoutPanel для добавления picturebox вместо панели, которая автоматически обрабатывает положение picturebox..
Ralf Meier
Я бы построил свою собственную индивидуальную панель, которая имеет то поведение, которое я хочу иметь.
В этой панели я бы не стал размещать все Ваши фотографии - только те, которые можно увидеть, и еще одну вверху (отрицательные координаты) и еще одну внизу (вне панели).
Теперь я бы создал специальную функцию прокрутки, которая работает только с этими элементами управления, и назначил бы им (при необходимости) новые картинки.
Philippe Mori
В качестве решения это стоило бы 5 баллов...
Ralf Meier
Как вы думаете, я должен опубликовать это как решение ?
На мой взгляд, это всего лишь совет ... или, может быть, мой способ решить эту проблему ...
Maciej Los
Это решение-наверняка - даже если это ваше мнение (совет).
Ralf Meier
Ладно ... готово ...