ホームページ >バックエンド開発 >C++ >C# でテキストを含む半透明の円形コントロールを作成する方法

C# でテキストを含む半透明の円形コントロールを作成する方法

Barbara Streisand
Barbara Streisandオリジナル
2025-01-22 15:42:13378ブラウズ

How to Create a Translucent Circular Control with Text in C#?

C# 半透明の円形テキスト コントロール

この記事では、テキストを含むサークル コントロールを作成する方法という一般的な問題を解決し、透明性やサイズ変更などの課題を克服する方法を説明します。

質問

最初の課題は、内接正方形と同じ幅の円を作成することです。円のサイズを変更すると、他のコントロールと重なってしまいます。さらに、コントロールの背景は透明である必要があります。

解決策

透明性のあるカスタム コントロール

透明性を実現するために、Control クラスから派生したカスタム コントロールを作成します。インターフェイスには、テキストを表示できる色付きの円が含まれています。このコントロールは、不透明度、内側のパディング (内側の四角形とコントロールの境界の間の距離)、およびフォント パディング (テキストと内側の四角形の間の距離) を設定するためのカスタム プロパティを公開します。

コントロールを透明にするために、CreateParams メソッドをオーバーライドし、その ExStyle を WS_EX_TRANSPARENT に設定します。

カスタムスタイル

Control.SetStyle() メソッドを使用して、ControlStyle を追加することでコントロールの動作を変更します。

  • ControlStyles.Opaque: BackGround が描画されないようにし、システム管理を回避します。
  • ControlStyles.SupportsTransparentBackColor: コントロールが BackGround カラーのアルファ値を受け入れることを許可します。

マウスイベントの処理

コントロールは、ドラッグとサイズ変更のマウス イベントをサポートします。

フォント処理

フォントは Segoe UI にハードコーディングされているため、円形領域の中央へのテキストの配置が簡単になります。他のフォントはベースラインが異なるため、より複雑な処理が必要になります。

完全なコード

C# カスタム コントロールの完全なコードが提供されています。

アプリケーションコントロール

コントロールを使用するには、新しいクラス ファイルを作成し、提供されたコードをそこに貼り付けて、プロジェクトをビルドします。カスタム コントロールがツールボックスに表示されます。これをフォームにドラッグ アンド ドロップし、必要に応じてカスタム プロパティを調整します。

その結果、テキストを含む半透明の円形コントロールが作成され、他のコントロールと重なり合うことなく位置やサイズを変更できます。

以上がC# でテキストを含む半透明の円形コントロールを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。