Trong chương trình nếu muốn phát sinh control thì bạn chỉ cần new ra đối tượng Control. Sau đó form.controls.add nó vào.
Còn việc control đó có thể drag & drop thì bạn có thể tạo 1 class control mới kế thừa từ lớp Button có sẵn. Sau đó bắt sự kiện mousemove, mouseup, mousedown để thực hiện.