質問: お世話になります。 フォームの基本クラスでボタンなどをフォームの右下に張り付け、Anchorを Bottom,Rightにし、それを継承したフォームでClientSizeを操作すれば、 その大きさに合わせて張り付けたボタンなども右下に配置されると思っていたのですが、 実際は継承したフォームでは、開始位置が継承先と同じ座標に現れ、 サイズを変更すると、ズレた位置からAnchorの設定どおりに動いてしまいます。 そのため、今まではいつも継承した後はデザイン画面からズルズルと 手動で右下に移動させているのですが、さすがに嫌になりました。 考えてみれば、確かにこの動きは当たり前かもしれませんが、希望としては 継承先でも、継承元でAnchorにBottom,Rightになっているようなら、 開始直後でも配置先を右下からの相対位置にしたいものです。 これらのことは、既存のプロパティか何かでできるものでしょうか。 もしくは、他に何か方法があるのでしょうか。 打開策があるようでしたらお教えください。 よろしくお願いします。 ![画像の説明をここに入力](https://i.stack.imgur.com/AC7DA.png)
回答: 継承元フォームの内容をフォームではなくユーザーコントロールとして実装してみてはいかがでしょうか。 1. 新規にユーザーコントロール作成しForm1が持っているUIと機能を移植 2. Form2(継承先フォーム)をForm1ではなくSystem.Windows.Forms.Formを継承する形に戻す 3. Form2のデザイナで作成したユーザーコントロールを配置し、Dock=Fillとする。 4. Form1は不要となるので削除する