48540


お世話になります。

C#にて、フォームを生成して、BackgroundImageを設定した後、BackgroundImageLayoutをNoneに  
すれば、設定した画像は左上に表示されますが、これを右下に表示されることはできますでしょうか。もちろん、フォームの拡大・縮小に合わせて配置されるものとします。また、元の画像自体には一切手を加えないものとします。

自分で考えた方法ですが、フォームの起動時、及びサイズ変更時にフォーム全体のサイズを図り、それに対するクライアント領域と同じサイズのイメージを生成し、そのイメージの右下に描画されるように背景の画像を描画した後、そのイメージをフォームの背景として設定する…などの方法があると  
思いましたが、そもそももっと簡単に設定だけで行うことはできますでしょうか？

よろしくお願いいたします。


CC BY-SA 4.0
2018-09-19T04:59:28.107
48532
2018-09-19T06:45:43.550
9374
question
c# form
C# フォームの背景を右下に表示させたい


`BackgroundImageLayout`プロパティは[ImageLayout](https://docs.microsoft.com/en-
us/dotnet/api/system.windows.forms.imagelayout?redirectedfrom=MSDN&view=netframework-4.7.2)のみ設定可能ですので、「簡単に設定だけで」右下に表示することはできないと認識しています。

本家SOの[類似質問](https://stackoverflow.com/questions/3707562/position-of-
backgroundimage-in-windows-
form)では`OnPaintBackground`イベントで[再描画](https://stackoverflow.com/a/3707769)するコード例が紹介されています。


CC BY-SA 4.0
2018-09-19T06:45:43.550
48540
2018-09-19T06:45:43.550
9820
48532
answer