我创建了一个DataGridView并根据需要设置其属性。
问题是我可以在应用程序中使用四个外观相同的DataGridView,这取决于我的应用程序中的某些条件。我想知道是否可以以编程方式创建DataGridView的一个实例并复制原始DataGridView的所有属性,以便拥有2,3,4个相同的DataGridViews吗?
我知道可以通过设计器实现,但是如何以编程方式复制它呢?
我听说过扩展方法,但是有没有更简单的方法?
编辑:
我添加了新方法:
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);