Melhor prática quando você precisa de dois controles de usuário (winforms) para se comunicar

Problema estendido

Eu gostaria de adicionar um novo problema além do problema original especificado abaixo. Um dos controles de usuário no aplicativo contém uma lista de objetos que preciso acessar de outro controle de usuário. Como isso pode ser feito? (Eu não acredito que a divisão em controles seja muito bem executada, mas eu prefiro não mudar isso ..)

Devo fazê-lo por eventos como com o problema original ou devo obter o formulário pai e usá-lo para localizar a instância do controle e expô-lo como uma propriedade?

Problema original

Eu tenho dois controles de usuário em um formulário que eu quero poder se comunicar uns com os outros. O Usercontrol A deve poder iniciar uma operação em B.

Qual é a maneira preferida de resolver isso? O formulário deve aguardar um evento de A e, em seguida, iniciar a operação em B? Qualquer padrão de design para isso? Ou é uma solução ainda mais fácil?

Desde já, obrigado! :)

questionAnswers(3)

yourAnswerToTheQuestion