Como criar uma caixa de diálogo de arquivo aberto personalizada em C #

Como se pode criar um controle de usuário com a mesma funcionalidade (junto com alguns recursos estendidos) do OpenFileDialog em C #? Eu seguiest, mas não consegui encontrar uma solução para o meu problem

Meu requisito é adicionar um botão extra na caixa de diálogo. Se esse botão for clicado, o pai deverá ser notificado da mesma maneira que ook ecancel botões fazem.

questionAnswers(3)

yourAnswerToTheQuestion