投稿者 とくま  (社会人) 投稿日時 2024/8/7 09:11:03
とりあえず、原因としては、Draggable なコントロールを new したときに、
Draggable じゃない普通のコントロールを Fill して埋めちゃってるから、
Draggable のコードに反応する部分が普通のコントロールの下に隠れちゃって
るという感じかな?Fill しないで余白を作って、どの部分に自分のコードが
反映されているか確認すると良いと思うよ。

Draggable の機能を別途(共通部品として)コーディングしたいなら、継承より
インターフェースでくっつけてやる感じのほうがスッキリするかもだけど、
継承でやるなら、RichTextBox を継承して Draggable の機能を追加してやる
ことだね。

既存のコントロールが
Control >【継承】> RichTextBox
となっちゃってて、継承元を変えるには、Microsoftの用意したライブラリ内に
ある、RichTextBoxクラスを直接変えないといけないよね?っていう所を
頭の中で整理しないといけない。
普通は、
Control >【継承】> RichTextBox >【継承】> DraggableRichTextBox
とやるしかないよね?っていうこと。
継承元で既に定義されている関数を上書き(override)するから、共通部品には
ならないかな。
Control >【継承】> PictureBox >【継承】> DraggableImageCard
を別途コーディングしないと。