Должен ли метод UserControl Refresh () автоматически вызываться при вызове метода Refresh () его контейнера? - PullRequest
1 голос
/ 03 июня 2019

В проекте, созданном в 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 (), но это не так. Почему бы и нет? Я делаю что-то не так или просто не понимаю, что происходит при обновлении формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...