Вы можете использовать рефлексию, чтобы получить все открытые свойства типа и скопировать значения из одного экземпляра в другой, но это опасно и может не полностью дублировать все состояние объекта.Могут быть некоторые свойства, которые вы не хотите копировать (например, Parent, Site), и другие важные свойства, которые вы не можете установить напрямую (например, Columns, Rows).Кроме того, могут быть свойства, которые являются ссылочными типами;ваш скопированный элемент управления в конечном итоге будет ссылаться на тот же объект, что и ваш оригинал, что может быть нежелательно.Также может быть информация о состоянии, которая может быть установлена только через вызовы методов, которые не будут скопированы таким образом.Короче говоря, возможно, отражение - это не то решение, которое вам нужно.
Возможно, вам просто придется вручную скопировать нужные свойства.Кроме того, вы можете создать фабричный метод, который может создать любое количество похожих сеток.