[ad_1]
2つのコントロールを同じ場所に置き、前面のコントロールを不透明にする方法があります。
元:-
コントロール A (背面): ボタン 、不透明度 100%、位置 300;240
コントロール B (前面): パネルまたはその他、不透明度 60%、場所 300;240
私が試したこと:
私はこれを試しました:
Color.FromArgb(120, Color.Black);
ただし、背面にコントロールがない場合にのみ機能します。
解決策 1
これは、Windows フォームでは透明ではないためです。 コントロールの背景色を透明に設定すると、実際に行っていることは、コントロールにコンテナ (おそらくフォーム) の背景プロパティを引き継ぐように指示することです。 パネルの後ろに Button コントロールが表示されません。
不透明度によってコントロールが透明になるわけではありません。 描画しているものは部分的に透明になりますが、コントロールの描画面は透明になりません。 これを回避するには、独自のバージョンの Panel コントロールを作成して、Panel の描画方法を完全に制御する必要があります。
例については、を参照してください。 .NET 透明パネルの作成 | コードグル[^]
別の問題があります。 これから作成する Panel コントロールは Button を覆うため、マウス クリックはボタンではなくパネルに移動します。 パネルは、マウスではなく、視覚的に透過的です。
[ad_2]
コメント