为什么某些控件如Button
或PictureBox
同时具有BackgroundImage
和Image
属性?
为什么在按钮的情况下都需要它们? 或为什么在picturebox backgroundimage应该可用?
答案 0 :(得分:7)
BackgroundImage
继承自Control
。
Image
的情况下, Button
继承自ButtonBase
。
一般来说,BackgroundImage
是:
表示要在控件背景中显示的图像的图像。
Image
将是 on 控件。
为什么你需要这两个?
Image
上使用透明胶片,并希望显示背景图片。答案 1 :(得分:3)
这很大程度上是因为它无处不在。它从Control类继承而来,不需要额外的工作来使其正常工作。实际上,隐藏需要额外的工作,这是不支持背景图像的本机Windows控件所必需的。像TreeView一样:
public class TreeView : Control
{
[EditorBrowsable(EditorBrowsableState.Never), Browsable(false)]
public override Image BackgroundImage
{
// etc..
}
// etc..
}
请注意override关键字以及在属性网格和编辑器中隐藏它所需的属性。额外的工作,以阻止它工作。