Обновление содержимого формы //c#

  • Автор темы EuGenius
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

EuGenius

#1
Доброе время суток.
Проблема такова.
Есть форма, содержимое которой заполняется в методе
Код:
private void Form1_Load(object sender, EventArgs e)
При нажатии на кнопку на этой форме открывается новая форма (диалог) поверх предыдущей.
После выхода из этого диалогового окна необходимо обновить содержимое первого окна.
Точнее сказать выполнить код, находящийся в методе Form1_Load.
Подскажите, как разрешить данную проблему.
 
E

EuGenius

#3
А можно как-то другим путем? Например, через ссылки на объекты родительских окон?
 
N

NikSoft

#4
Код:
А можно как-то другим путем? Например, через ссылки на объекты родительских окон?
Попробуй использовать свойство Parent класса Form. Вот пример

Код:
// This example uses the Parent property and the Find method of Control to set
// properties on the parent control of a Button and its Form. The example assumes
// that a Button control named button1 is located within a GroupBox control. The 
// example also assumes that the Click event of the Button control is connected to
// the event handler method defined in the example.
private void button1_Click(object sender, System.EventArgs e)
{
// Get the control the Button control is located in. In this case a GroupBox.
Control control = button1.Parent;
// Set the text and backcolor of the parent control.
control.Text = "My Groupbox";
control.BackColor = Color.Blue;
// Get the form that the Button control is contained within.
Form myForm = button1.FindForm();
// Set the text and color of the form containing the Button.
myForm.Text = "The Form of My Control";
myForm.BackColor = Color.Red;
}
 
E

EuGenius

#5
В принципе я уже сделал откоытой Form1_Load().
Какие аргументы надо ей передать?
 
P

Pasha

#7
<!--QuoteBegin-EuGenius+6:04:2007, 08:34 -->
<span class="vbquote">(EuGenius @ 6:04:2007, 08:34 )</span><!--QuoteEBegin-->В принципе я уже сделал откоытой Form1_Load().
Какие аргументы надо ей передать?
[snapback]61583" rel="nofollow" target="_blank[/snapback]​
[/quote]
Напиши лучше свою функцию, скажем, public void UpdateFormContents(). И вызывай ее и из Form_Load, и из дочерней формы.

P.S. Рефле́ксия (от позднелат. reflexio — обращение назад) — размышление, деятельность самосознания, способность к анализу собственного психологического состояния.
 
M

mr_ST

#8
Код:
private void Form1_Load(object sender, EventArgs e)
{
FillForm();
}

void ClickSomethingHandler(object sender, EventArgs e)
{
using( Form2 frm2 = new Form2())
{
frm2.ShowDialog();
FillForm();
}
}

private void FillForm()
{
//заполняем форму
}
Всё остальное от лукавого B)
 
E

evan

#9
Можно еще при создании дочерней формы прописать ей обработчиком нужного события метод главной формы...
 
Статус
Закрыто для дальнейших ответов.