4

私はこの 1 つの画像を持っており、別の画像の上に配置したいと考えています。

(ウィンドウフォームアプリケーション、c#)

4

2 に答える 2

10

コードには、実行できる呼び出しがいくつかあります。BringToFrontSendToBackはおそらく最も単純です。

yourControl.BringToFront();
yourControl.SendToBack();

Control.ControlCollection.SetChildIndexを使用して、コントロールの親コンテナーからそれを制御することもできます 。例えば:

// Bring control to front    
MyForm.Controls.SetChildIndex(SomeControl, 0); 

それ以外の場合は、@ KeithS が既に回答しているため、デザイナーで [前面に移動] または [背面に移動] をクリックしてください。

于 2013-06-27T09:17:57.573 に答える
8

あるコントロールが別のコントロールと部分的に重なり合っていて、どちらか一方を上に置きたい場合は、デザイナーで上に置きたい画像を右クリックし、[前面に移動] を選択します。あなたが他の後ろにしたい画像に使用できる「Send To Back」があります。

上部の画像のアルファ マスクや、上下の 2 つの画像間のグラデーション ブレンドなど、部分的な透明度が必要な場合は、おそらく WPF グラフィックスのより高度な機能が必要になるでしょう。WinForms でピクセルごとの効果を実行できますが、Winforms には画像の透明度を処理するための組み込み機能はなく、Winforms での画像のピクセルごとの操作では、グラフィックス アクセラレーション (100% CPU 、ランタイムのオーバーヘッドがさらに遅くなります)。

于 2011-01-13T20:22:38.570 に答える