デザイナでPictureBoxの子にコントロールを配置する

通常はこんなことをしなくてもPanelのBackgroundImageを使用すればいいのですが、PanelとPictureBox上で透過色のコントロールをマウスで動かしたときにPictureBoxの方が描画が速かったのでメモしてみます。


通常デザイナでPictureBoxの上にコントロールを配置すると、PictureBoxと同レベルに配置されます。
これをPanelやGroupBoxの様に子に追加されるようにしたかったので少しいじってみました。


PanelやGroupBoxのデザイナはParentControlDesignerといういかにもそれっぽい名前のクラスを継承しています。
PictureBoxはそうでないので、DesignerをParentControlDesignerに指定し直します。
(ParentControlDesignerはSystem.Design.dllにあるため、このDLLを参照設定に追加する必要があります。)

[System.ComponentModel.Designer(typeof(System.Windows.Forms.Design.ParentControlDesigner))]
public class PicturePanel : PictureBox {
}