Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Как обращаться к основной форме из других форм?


Автор: RuslanKoh 16.10.2013, 09:18
Помогите, пожалуйста! 

Есть 2 формы Form1 и Form2. У обеих форм есть поля типа public id, dtime, dwhat. При старте программы запускается форма Form1, а затем по нажатию кнопки из формы Form1 запускается форма Form2 таким образом:

Form2 af = new Form2();
af.ShowDialog();

У запущенной формы есть имя af и из формы Form1 к ней можно обращаться по этому имени, например:

af.id=...

af.dtime=...

А как из запущенной формы Form2 обращаться к основной Form1? По какому имени? Я так понимаю Form1 это общий класс, а как имя экземпляра класса запущенной формы?

Автор: jonie 16.10.2013, 18:48
ну так внесите зависимость экземпляра Form2  от экземпляра Form1 передав ссылку на первый как-то, например через конструктор:
Код

class Form2 {
 public Form2(Form1 parent) {this._parent = parent;}
 private Form1 _parent;
}

...
//код внутри Form1:
var frm2 = new Form2(this);
...

Автор: interv 22.10.2013, 14:06
System.Windows.Window mainWindow = System.Windows.Application.Current.MainWindow;
mainWindow.Title = "Hello world!";
Form1 form1 = mainWindow as Form1;
if (form1 != null)
{
  form1.id = [variable];
  form1.dtime = [variable];
  form1.dwhat = [variable];
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)