2010-04-28 3 views
0

Я развиваюсь в C# и .Net 2.0. У меня есть пользовательский элемент управления, который рисует ячейки (столбчатые) в зависимости от максимального количества ячеек. Существуют некоторые процедуры рисования, которые генерируют необходимые ячейки. Существует свойство NumberOfCells, которое регулирует высоту этого элемента управления; CELLHEIGHT_CONSTANT * NumberOfCells. Метод OnPaint() переопределяется (код, который рисует число ячеек).Растущий пользовательский контроль не обновляется

Существует еще один элемент управления пользователя, который содержит панель, содержащую userControl1 сверху. Существует свойство NumberCells, которое изменяет NumberOfCells userControl1.

UserControl2 затем помещается в форму окна. В этой форме есть элемент управления NumericUpDown (только увеличивается от 1). Когда пользователь увеличивает на 1, я также корректирую VerticalScroll.Maximum на 1.

Все работает хорошо и хорошо НО, когда я увеличиваю один раз, панель обновляется отлично (в случае необходимости вставляет вертикальную прокрутку), но ячейки не добавляются! Я попробовал Invalidating на userControl2 AND на форме, но ничего не кажется, что рисовать вновь добавленные ячейки.

Любая помощь приветствуется. Заранее спасибо.

  • Лоуренс

ответ

0

отладки Try и убедитесь, что свойство NumberOfCells правильно установить время. Если это так, и ячейки по-прежнему не отображаются после того, как окно недействительно (например, минимизируя, а затем восстанавливая окно), у вас возникла проблема с вашим методом рисования ячейки.

Если после сворачивания/восстановления клеток обнаруживаются, вам нужно позвонить Invalidate(CellRegion) в инкубаторе для NumberOfCells

0

Вы изменение размеров элементов управления при добавлении столбцов? Если они недостаточно велики, чтобы показать все их содержимое, они просто будут их обрезать, и вы не увидите новых столбцов, которые были добавлены.

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