Вы можете попытаться сохранить только размер массива старых разговоров в целое число, не сохраняя второй массив. Но есть шанс, что это не сработает, потому что я думаю, что код onInspectorGui должен выполняться при каждом вызове (но не уверен в этом).
Для создания автоматической работы нумерации Вы хотите, чтобы средства управления были добавлены к панели в том же порядке на каждую обратную передачу. Очевидно, на обратной передаче, средствам управления нужно было присвоить их уникальные идентификаторы, или Вы не получили бы событие управления.
UniqueID
инициализируется на первом использовании к значению Control.ID
Свойство *. Если то свойство не установлено, оно автоматически сгенерировано как ctlxx
, поскольку Вы наблюдали. После того, как присвоенный, управление UniqueID
только для чтения.
Поэтому, если у Вас есть некоторая форма первичного ключа, можно установить ID
свойство управления, когда Вы создаете его на основе того первичного ключа. UniqueID
будет затем установлен на то значение, когда страница загрузит свое состояние.
UniqueID
свойство является на самом деле комбинацией префикса именованного контейнера и ID
свойство.