この記事では、テキストを含むサークル コントロールを作成する方法という一般的な問題を解決し、透明性やサイズ変更などの課題を克服する方法を説明します。
最初の課題は、内接正方形と同じ幅の円を作成することです。円のサイズを変更すると、他のコントロールと重なってしまいます。さらに、コントロールの背景は透明である必要があります。
透明性のあるカスタム コントロール
透明性を実現するために、Control クラスから派生したカスタム コントロールを作成します。インターフェイスには、テキストを表示できる色付きの円が含まれています。このコントロールは、不透明度、内側のパディング (内側の四角形とコントロールの境界の間の距離)、およびフォント パディング (テキストと内側の四角形の間の距離) を設定するためのカスタム プロパティを公開します。
コントロールを透明にするために、CreateParams メソッドをオーバーライドし、その ExStyle を WS_EX_TRANSPARENT に設定します。
カスタムスタイル
Control.SetStyle() メソッドを使用して、ControlStyle を追加することでコントロールの動作を変更します。
マウスイベントの処理
コントロールは、ドラッグとサイズ変更のマウス イベントをサポートします。
フォント処理
フォントは Segoe UI にハードコーディングされているため、円形領域の中央へのテキストの配置が簡単になります。他のフォントはベースラインが異なるため、より複雑な処理が必要になります。
完全なコード
C# カスタム コントロールの完全なコードが提供されています。
コントロールを使用するには、新しいクラス ファイルを作成し、提供されたコードをそこに貼り付けて、プロジェクトをビルドします。カスタム コントロールがツールボックスに表示されます。これをフォームにドラッグ アンド ドロップし、必要に応じてカスタム プロパティを調整します。
その結果、テキストを含む半透明の円形コントロールが作成され、他のコントロールと重なり合うことなく位置やサイズを変更できます。
以上がC# でテキストを含む半透明の円形コントロールを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。