【发布时间】:2011-09-05 14:55:38
【问题描述】:
我有覆盖 WebBrowser 控件的用户控件。 有一种方法可以从其父窗体中获取 BackgroundImage 的一个区域,并将其作为 html 代码中的背景。它是这样工作的:
- 使自己不可见。
- 捕获父表单。
- 使自己可见。
- 获取捕获图像的特定区域并将其设置为背景。
- 自我刷新。
我希望在控件完全加载后立即触发该方法。我不能在构造函数中这样做,因为我需要使用的一些重要对象和父属性仍然为空。 我把它放在 OnVisibleChanged 事件中并将 bool 变量设置为 false,所以它只运行一次,但是每次我重建我的项目时它都会触发(即使没有运行 - 它会创建我在 html 代码中用作背景的位图,但是不同的目录,因为我使用 Directory.CurrentDirectory() 方法)。也尝试使用 OnLoad 事件触发它,但它与 OnVisibleChanged 产生相同的问题。 还有比 OnVisibleChanged 更合适的事件吗?
PS。我一直想知道是否每个事件都必须触发其基类的事件。有必要这样做吗?我根本看不到任何差异,没有它一切都很好。如果留在那里比较好,应该放在事件方法的开头还是结尾?
【问题讨论】:
-
您正在寻找的事件可能是由框架而不是由框架本身触发的,如果是鸡和蛋的问题以及无限循环;-)
-
对不起我的英文,我编辑了标题;]
标签: c# winforms events controls parent