调用UserControl的Refresh()方法时,是否应该自动调用它的容器的Refresh()方法?

时间:2019-06-03 18:28:51

标签: user-controls

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

0 个答案:

没有答案