Органы с максимальной точки зрения более 32768 пикселей

StackOverflow https://stackoverflow.com/questions/19834687

  •  25-07-2022
  •  | 
  •  

Вопрос

У меня есть приложение Winforms, которое позволяет вам редактировать документы. Каждый документ сделан из глав, и в каждой главе содержится коллекция блоков RTF. Блоки RTF загружаются в PanelControl с использованием Dock = DockStyle.Top.

Проблема заключается в том, что когда общая высота главы становится слишком большой (оценка> 32768 пикселей), более низкие блоки не пришвартованы должным образом: они появляются позади друг друга. При попытке изолировать проблему я заметил, что это также происходит с более простыми элементами управления, как LabelControl.

Вещи, которые я пробовал, - это методы, как Refresh(), Invalidate() а также PerformLayout: они будут нет решить проблему.

какая делает Помощь - это изменение размера формы. После этого все элементы управления выложены правильно.

Может ли кто -нибудь помочь, как решить это без изменения размера формы?

Прилагается Простой демо-проект Это иллюстрирует проблему.

screenshot

Это было полезно?

Решение

Из моего комментария выше (кажется, здесь действительно проблема):

Winforms (и GDI в целом) часто ведет себя непредсказуемо, если вы пытаетесь использовать координаты за пределами 16 -битного диапазона. Старайтесь избегать этого. В диапазоне возможных проблем - это просто не нарисовано вообще, перепродажи в неожиданных кодовых позициях и т. Д.

Другие советы

Если вы можете принять решение об изменении этого макета, я предлагаю вам принять другой подход к демонстрации/редактированию главах документов с какой -то видной страницей или рухвами RTF -блоками в меню и демонстрации только текущего.

Видите ли .. имеет смысл, значение высоты будет целым 16-битным значением. Экран намного более крошечный, чем этот. По мере увеличения высоты панели до такого большого размера. Вы видите, что использование полоса прокрутки станет очень очень разумным ... и это не очень хорошая вещь.

Содержание с размером 2x, 3x, 5x, прокручиваемые, используется для пользователя. Но прокрутка содержания с высотой (~ 32768), по крайней мере, (с использованием монитора хорошего разрешения с максимизированным окном) в оптимальном случае 32x размер окна очень неудобно.

Кроме того, я считаю, что производительность пользователя снизится из -за сложности головного мозга в поиске «вещей» в растущей коллекции «вещей».

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top