Form.Region を使用して角の丸いフォームを作成しました。それは機能しますが、残念ながら丸めは荒く見えます。このような形状のフォーム コーナーを滑らかにするためのトリックはありますか? 多くのアプリケーションがこれをサポートしていることは知っていますが、.NET で作成する方法がわかりません。
みんなありがとう。
これに対する適切な修正はありません。リージョンをアンチエイリアスすることはできません。これは避けられないことです。アンチエイリアシングは、背景色がわかっている場合にのみ機能するため、適切にブレンドできます。これはウィンドウのオプションではありません。背景は設計上予測できません。これがスプラッシュ画面の場合は、背景のスクリーンショットを撮り、その上に偽のウィンドウを描画することで、偽の画面を作成できます。数秒以上動作しません。
角の半径を小さくして、目立たないようにするのが最善の方法です。また、SysInternalsのZoomItなどのツールを使用して、WindowsMediaPlayerなどのプログラムの丸みを帯びた角をよく見てください。境界線の描画に使用される灰色のトーンに注意してください。
私がオンラインで読んだことから、ほとんどの人はフォームの onpaint イベントをオーバーライドして、そこに領域を描画することになります。これにより、GDI+ とアンチエイリアシングを使用して、見た目をよりきれいにすることができます。
私が見つけた例:
http://netcode.ru/dotnet/?lang=&katID=30&skatID=283&artID=7833 http://www.xtremevbtalk.com/showthread.php?t=288178