Нет, это компоненты, а не элементы управления. Их код на самом деле живет в оболочке, они были написаны на неуправляемом C / C ++ Microsoft. Единственное, что им удается, - это небольшая оболочка, которая делает необходимые вызовы API, чтобы отобразить их и вернуть результат. OpenFileDialog, например.
Самая первая проблема, с которой вы столкнетесь, - это запустить ваш код при отображении такого диалога. Это диалог, элемент управления не возвращается в вашу программу после вызова ShowDialog (), пока пользователь не отклонит его. Это возможно с большим количеством хитрости. Проверьте мой код в этой теме для подхода. Как уже отмечалось, этот код будет работать для любого диалога оболочки, а также для MessageBox.
Это дает вам дескриптор окна диалога. Далее вам нужно перебрать дочерние окна диалога. Вы можете сделать это с помощью вызова API EnumChildWindows. Это дает вам дескриптор окна каждого дочернего элемента, затем вы можете использовать SendMessage (), чтобы что-то сделать с дочерним элементом. Что бы это ни было, вы не указали это в своем вопросе.