Как я могу продублировать групповой ящик в приложении окна C #, групповой блок содержит 30 текстовых полей, и мне нужно продублировать его на специальном событии, и я не знаю максимальное количество необходимых групповых блоков
Если вы используете winforms, возможные решения:
Используя отражение, создайте новый объект того же типа, и любое доступное для записи свойство получит скопированные значения, используйте этот метод:
private object CloneObject(object o) { Type t = o.GetType(); PropertyInfo[] properties = t.GetProperties(); <pre><code>Object p = t.InvokeMember("", System.Reflection. BindingFlags.CreateInstance, null, o, null); foreach (PropertyInfo pi in properties) { if (pi.CanWrite) { pi.SetValue(p, pi.GetValue(o, null), null); } } return p;
Используйте это как:
private void button1_Click(object sender, EventArgs e) { GroupBox g = (GroupBox)CloneObject(groupBox1); }
Оба метода описаны здесь