У меня есть две панели: одна, которая всегда видна, а другая, которая объявляется позже и принадлежит первой панели:
"Panel1.Controls.Add (this.Panel2);"
Вся программа всегда имеет 2 текстовых поля, 7 PictureBox, которые используются в качестве кнопок, 3 метки и 1 панель (они объявляются, как только программа запускается).
После объявления второй панели активируется функция рисования. Функция рисует на второй панели.
Если Panel2 выше или шире (или оба), чем Panel1 (Panel2 становится частично видимой), при первом вызове функции рисования вторая панель становится пустой после завершения функции рисования. Мне нужно изменить размер окна или что-то еще, чтобы вернуть рисунок (во многих случаях вызывается функция рисования). Если Panel2 во всех отношениях меньше Panel1, проблема не возникает.
Panel2 управляется в следующей последовательности:
Объявление Panel2;
Настройка свойств Panel2;
Добавление Panel2 в Panel1;
Рисование на Panel2;
Прочие связанные с Panel2 вещи.
Сначала я использовал кнопки и PictureBox внутри Panel1. Раньше проблема возникала, только если кнопки не использовали внешний вид по умолчанию (независимо от размера PictureBox). Позже я изменил PictureBox с помощью панели и кнопки с PictureBoxes (я хотел сделать пользовательские кнопки). После этого изменения я снова столкнулся с проблемой.
Код большой, и я не уверен, если это необходимо. У меня наверняка есть проблема с алгоритмом кода.