Como permitir que o usuário arraste um controle criado dinamicamente no local de sua escolha

Estou criando um aplicativo no qual preciso gerar controles criados dinamicamente, como caixa de texto ou rótulo etc.

Agora, o que esse usuário pode realocar essa caixa de texto para o local desejado. Como fazemos no Visual Studio. Uma maneira é obter um novo local, obtendo valores dele usando a caixa de texto. Mas eu quero a interface do usuário fácil.

Podemos ter essa funcionalidade em winforms

questionAnswers(3)

yourAnswerToTheQuestion