В C#, с помощью CF, как Вы отображаете окно, которому уже загрузили предыдущий экземпляр в память?
Пример: Form1 имеет textBox1 и кнопку. Некоторый текст вводится в texBox1. Нажатие кнопки Form1 загружает Form2, который также имеет кнопку. Нажатие на кнопку Form2's называет Form3. Как Вы называете уже рабочий экземпляр Form1 для вызова, это - updateField метод, например?
Просто храните где-нибудь ссылку на экземпляр Form1
- например, передайте его в Form2
при создании, а затем Form2
может передать его в Form3
для использования.
Здесь нет ничего особенного в элементах управления пользовательского интерфейса - просто подумайте, что бы вы сделали, если бы хотели получить доступ к любому другому виду объектов.
Это делается с помощью событий. Form3 должен иметь общедоступное свойство, которое раскрывает значение и событие, которое запускается при изменении значения. Form2 должен подписаться на событие, чтобы отслеживать изменения. Повторите, чтобы сообщить Form1.
При этом классы разделяются, Form3 не должен ничего знать ни о Form2, ни о Form1, только то, что кого-то может заинтересовать значение свойства. Рефакторинг этих родительских классов форм не может сломать Form3. Обратите внимание, как классы элементов управления Windows Forms работают одинаково.