c#
の画像ボックスを制御することで透明性を達成します C#WindowsフォームのPictureBoxesへの透明なコントロールの重複アプリケーションには、設計者がこれを直接サポートしていないため、回避策が必要です。 これを解決する方法は次のとおりです 設計時の課題:標準のWindowsフォームデザイナーは、
の内側a PictureBoxの配置を防ぎます。 試してみると、コントロールの親がフォームになり、PictureBoxイメージの背後に不透明な背景が生じます。 メソッド1:プログラム制御子育て
このアプローチは、ランタイム中にコントロールの親を動的に変更します: このコードスニペットは、
コントロール(またはその他のコントロール)を移動しての子になり、その位置を維持し、背景を透明に設定します。
<code class="language-csharp">public Form1() { InitializeComponent(); Point pos = label1.Parent.PointToScreen(label1.Location); pos = pictureBox1.PointToClient(pos); label1.Parent = pictureBox1; label1.Location = pos; label1.BackColor = Color.Transparent; }</code>
label1
pictureBox1
よりエレガントなデザインタイムソリューションについては、カスタムPictureboicboxコントロールを作成してください:
このカスタムクラスは、を使用して、デザイナー内でコントロールを直接追加することができ、透明性を維持できます。 デザイナーでは、PictureBoxのタイプを。
に変更しますニーズに最適な方法を選択します。 方法2は、よりクリーンな設計時間エクスペリエンスを提供し、方法1は小規模なプロジェクトのためのより簡単なソリューションを提供します。 オーバーレイコントロールの
プロパティを真の透明性のために<code class="language-csharp">using System.ComponentModel; using System.Windows.Forms; using System.Windows.Forms.Design; // Add System.Design reference [Designer(typeof(ParentControlDesigner))] public class PictureContainer : PictureBox { }</code>
以上がC# で PictureBox 上に透明なコントロールを配置するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。