Я создал DataGridView и установил его свойства, как я хотел.
Проблема в том, что у меня может быть четыре одинаковых DataGridView в приложении, в зависимости от некоторых условий в моем приложении. Я хочу знать, смогу ли я создать один экземпляр DataGridView программно и скопировать все свойства из исходного DataGridView, чтобы у меня было 2,3,4 одинаковых DataGridView?
Я знаю, что это возможно с помощью дизайнера, но как скопировать его программно?
Я слышал о методах расширения, но есть ли более легкий подход?
EDIT:
я добавил новый метод:
private void copyControl(Control sourceControl, Control targetControl)
{
// make sure these are the same
if (sourceControl.GetType() != targetControl.GetType())
{
throw new Exception("Incorrect control types");
}
foreach (PropertyInfo sourceProperty in sourceControl.GetType().GetProperties())
{
object newValue = sourceProperty.GetValue(sourceControl, null);
MethodInfo mi = sourceProperty.GetSetMethod(true);
if (mi != null)
{
sourceProperty.SetValue(targetControl, newValue, null);
}
}
}
DataGridView dgw = new DataGridView();
copyControl(PartsDgv, dgw);
И я получаю это исключение