Сериализация элемента управления не проблема, это десериализация , это невероятно сложно сделать правильно. Ожидается, что это приведет к клону точного элемента управления. Это почти невозможно сделать точно, с элементом управления связано огромное количество времени выполнения. Не только в самом объекте класса Control, но и во внутреннем состоянии окна, утверждается, что Windows не разрешает прямой доступ.
Но конечная проблема заключается в том, что у него есть состояние, связанное с экземпляром процесса. Важные внутренние свойства, такие как имя класса окна Windows и ключи доступа к секретным свойствам, отличаются от одного запуска программы к другому. Воссоздание элемента управления, когда он был сериализован во время предыдущего запуска программы или совсем другой программы, таким образом, невозможно.
Тем не менее, дизайнер Winforms фактически поддерживает сериализацию управления. Не в байтах, он генерирует код . Код, который воссоздает элемент управления во время выполнения и выглядит так же, как во время разработки. За исключением целого ряда деталей, таких как размер и цвет, они часто оказываются разными на другой машине. Большим преимуществом конструктора является то, что ему нужно только сериализовать начальное состояние элемента управления, его состояние во время конструктора. Делать то же самое в любой момент после этого, после того как Windows создаст окно элемента управления и отправит ему кучу сообщений, гораздо сложнее взломать. Это заводская ошибка. И поэтому не поддерживается.