> ' Clone a control > ' expO1 Control > Public Function CloneControl(toControl As System.Windows.Forms.Control) As System.Windows.Forms.Control > Dim loClone As System.Windows.Forms.Control = Nothing > > ' Initialization > loClone = DirectCast(Activator.CreateInstance(toControl.[GetType]()), System.Windows.Forms.Control) > > ' For each property > For Each [property] As System.ComponentModel.PropertyDescriptor In System.ComponentModel.TypeDescriptor.GetProperties(toControl) > > ' If this property is serializable > If [property].PropertyType.IsSerializable Then > [property].SetValue(loClone, [property].GetValue(toControl)) > End If > > Next > > Return loClone > End Function >>
> ' Those two are equivalent > NoCountryTax2 = CloneControl(NoCountryTax) > NoProvinceTax2 = CloneControl(NoProvinceTax) > > If False Then > NoCountryTax2.DataSource = NoCountryTax.DataSource > NoCountryTax2.DisplayMember = NoCountryTax.DisplayMember > NoCountryTax2.ValueMember = NoCountryTax.ValueMember > NoCountryTax2.SelectedIndex = NoCountryTax.SelectedIndex > NoProvinceTax2.DataSource = NoProvinceTax.DataSource > NoProvinceTax2.DisplayMember = NoProvinceTax.DisplayMember > NoProvinceTax2.ValueMember = NoProvinceTax.ValueMember > NoProvinceTax2.SelectedIndex = NoProvinceTax.SelectedIndex > End If >>