2011-01-08 13 views
2

ButtonまたはPictureBoxのようなコントロールには、BackgroundImageImageの両方のプロパティがあるのはなぜですか?いくつかのコントロールにBackgroundImageとImageの両方のプロパティがあるのはなぜですか?

ボタンの場合は両方とも必要ですか? またはpictureboxの背景画像を使用できる理由

+2

2つの違いを理解していますか? –

+0

@matt:はい、なぜボタンの両方が必要なのでしょうか? –

+0

@matt:またはなぜpictureboxの背景画像が利用できるはずですか? –

答えて

7

BackgroundImageは、Controlから継承されます。

Imageの場合、Buttonの場合はButtonBaseから継承されます。一般に


BackgroundImageは:

コントロールの背景に表示する画像を表す画像。

そしてImageはコントロール上である1になります。


なぜ2つ必要ですか?

  • 背景画像に表示するコントロールの周りに余白がある可能性があります。
  • ImageでOHPを使用し、背景イメージを表示することがあります。
3

これは主に存在するためです。それはControlクラスから継承され、機能させるために余分な作業は必要ありません。実際には、には余分な作業が必要ですこれは、バックグラウンドイメージをサポートしていないネイティブWindowsコントロールに必要です。 Like TreeView:

public class TreeView : Control 
{ 
    [EditorBrowsable(EditorBrowsableState.Never), Browsable(false)] 
    public override Image BackgroundImage 
    { 
     // etc.. 
    } 
// etc.. 
} 

プロパティグリッドとエディタの両方で非表示にするために必要なoverrideキーワードと属性に注意してください。それが動作しないように余分な作業。

関連する問題