8

Form.Region を使用して角の丸いフォームを作成しました。それは機能しますが、残念ながら丸めは荒く見えます。このような形状のフォーム コーナーを滑らかにするためのトリックはありますか? 多くのアプリケーションがこれをサポートしていることは知っていますが、.NET で作成する方法がわかりません。

みんなありがとう。

4

2 に答える 2

9

これに対する適切な修正はありません。リージョンをアンチエイリアスすることはできません。これは避けられないことです。アンチエイリアシングは、背景色がわかっている場合にのみ機能するため、適切にブレンドできます。これはウィンドウのオプションではありません。背景は設計上予測できません。これがスプラッシュ画面の場合は、背景のスクリーンショットを撮り、その上に偽のウィンドウを描画することで、偽の画面を作成できます。数秒以上動作しません。

角の半径を小さくして、目立たないようにするのが最善の方法です。また、SysInternalsのZoomItなどのツールを使用して、WindowsMediaPlayerなどのプログラムの丸みを帯びた角をよく見てください。境界線の描画に使用される灰色のトーンに注意してください。

于 2011-01-18T20:22:16.727 に答える
7

私がオンラインで読んだことから、ほとんどの人はフォームの onpaint イベントをオーバーライドして、そこに領域を描画することになります。これにより、GDI+ とアンチエイリアシングを使用して、見た目をよりきれいにすることができます。

私が見つけた例:

http://netcode.ru/dotnet/?lang=&katID=30&skatID=283&artID=7833 http://www.xtremevbtalk.com/showthread.php?t=288178

于 2011-01-18T18:57:01.537 に答える