2013-03-28 4 views
0

У меня есть форма, в которой есть панель, открытая внутри.Извлечение данных из формы внутренней панели

Я хочу иметь возможность читать данные из дочерней формы у родителя.

private void NewSwitch_Load(object sender, EventArgs e) 
{ 
    newChild = new EnterSedol(); 
    newChild.TopLevel = false; 
    newChild.AutoScroll = true; 
    panel1.Controls.Add(newChild); 
    newChild.Show(); 
} 

private void GetValueFromChildButton(object sender, EventArgs e) 
{ 
    textBox1.Text = //What here?? 
} 

Благодаря

ответ

1

Поскольку это выглядит как newChild не объявлен внутри метода загрузки, вы должны быть в состоянии ссылаться на него непосредственно:

textBox1.Text = newChild.ButtonValue; 

Если пытаются ссылаться на элементы управления внутри newChild, либо сделать доступными элементы управления, либо сделать Properties в объекте EnterSedol, который будет извлекать эту информацию для вас.

В классе EnterSedol:

public string ButtonValue { 
    get { return button1.Text; } 
} 
0

Если есть возможно множество форм в панели, то вы можете перебирать Повсеместно их с коллекцией Controls вашего панели1. Но вы должны знать, как их отличить. Для exaqm:

foreach (var frm in panel1.Controls) 
    if (frm is EnterSedol && 
     /*frm is target form, for example there is needed tag...*/) 
    textBox1.Text = (frm as EnterSedol).GetData(); //Do your stuff 
Смежные вопросы