В проекте, созданном в Windows 7 и Visual Studio 2012, у меня есть форма со следующим кодом:
public partial class Form1 : Form
{
private Form2 m_form2;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
m_form2 = new Form2();
m_form2.Show();
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show("Refreshing form1");
Refresh();
m_form2.Refresh();
}
}
Form2 имеет следующий метод:
public override void Refresh()
{
MessageBox.Show("Refreshing Form2");
base.Refresh();
}
Form2 содержит экземпляр RefreshTestControl, который содержит этот метод:
public override void Refresh()
{
MessageBox.Show("Control is being refreshed.");
base.Refresh();
}
Я ожидал, что переопределенный метод Refresh () моего элемента управления будет вызываться автоматически при вызове Form2.Refresh (), но это не так. Почему бы и нет? Я делаю что-то не так или просто не понимаю, что происходит при обновлении формы?