var btn2 =newButton();
btn2.Text= btn1.Text;
btn2.size = btn1.size;
To clone all events of any WinForms control:
var eventsField =typeof(Component).GetField("events",BindingFlags.NonPublic|BindingFlags.Instance);
var eventHandlerList = eventsField.GetValue(button1);
eventsField.SetValue(button2, eventHandlerList);