在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()时会自动被调用,但事实并非如此。为什么不?我是在做错什么,还是只是不明白刷新表单后会发生什么?