user-controls - 当调用其容器的 Refresh() 方法时,是否应该自动调用 UserControl 的 Refresh() 方法?
问题描述
在 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();
}
我希望当 Form2.Refresh() 被调用时,我的控件被覆盖的 Refresh() 方法会被自动调用,但事实并非如此。为什么不?我做错了什么,还是我只是不明白刷新表单时会发生什么?
解决方案
推荐阅读
- apache-spark - 无法从 pyspark 加载管道模型
- ios - Viewcontroller 在动画完成之前显示
- python - 应用 savechanges 方法后如何从 Shield UI 网格数据源读取数据?
- python - Smoothly concatenating sine waves from input
- java - 将日历对象的时区从 EEST 更改为 HST 会意外更改时间
- javascript - 仅影响已导入样式的组件的样式?
- google-bigquery - 谷歌 bigquery 中的 ROWNUM 或 ROWID
- c# - Optional validation rule in FluentValidation
- octobercms - 如何在 october cms 中安装和设置内容编辑器插件?
- deep-learning - DeepLearning的学习数据(jpeg)和嵌入式系统(raw)的区别