У меня есть простое приложение для Windows в C# с тремя формами. Первая форма - основная форма (ее название FrmMain), вторая - FrmData, а третья - FrmShow. В основной форме (FrmMain) Я создал экземпляр из второй формы (FrmData) и показать его:Доступ к объекту-разработчику
public partial class FrmMain : Form
{
public Form FrmModifyData; //for FrmData
int PersonCode;
public FrmMain()
{
InitializeComponent();
}
private void btnShowDataForm_Click(object sender, EventArgs e)
{
FrmModifyData= new FrmData();
FrmModifyData.ShowDialog();
}
}
, но я не могу получить доступ из FrmModifyData в FrmMain поля как PersonCode. Как получить доступ к полю объекта создателя?
Примечание: Я новичок.
спасибо.
Я думаю, что есть какой-то шаблон дизайна, чтобы сделать это, на самом деле. Родительская ссылка, вероятно, должна быть параметром дочернего конструктора, называя ее следующим образом: «new FrmData (this);» – Philippe
может быть, но с точки зрения инкапсуляции лучший маршрут, IMO, должен предоставлять только данные, необходимые для управления. Управление, скорее всего, не нуждается в доступе к каждому общедоступному полю/методу в родительском фрейме. Если дочерний кадр должен выполнять методы в родительском фрейме, то они, вероятно, должны быть внутри пользовательских событий. –