我有这个图像,我希望它在另一个图像之上。
(窗口表单应用程序,c#)
答案 0 :(得分:7)
如果一个控件与另一个控件部分重叠,并且您想要一个或另一个在顶部,请在设计器中右键单击所需的图像,然后选择“置于前面”。有一个“发送到后面”,你可以在你想要的图像上使用它。
如果你想要部分透明度,比如顶部图像上的alpha蒙版或两个图像之间的渐变混合,你可能需要更高级的WPF图形功能。您可以在WinForms中执行逐像素效果,但Winforms中没有内置任何内容来处理图像透明度,Winforms中Image的每像素操作不会利用任何图形加速(100%CPU) ,运行时的开销进一步降低了你的速度。
答案 1 :(得分:7)
在代码中,您可以进行一些调用。 BringToFront和SendToBack可能是最简单的:
yourControl.BringToFront();
yourControl.SendToBack();
您也可以使用控件的父容器来控制它 Control.ControlCollection.SetChildIndex。例如:
// Bring control to front
MyForm.Controls.SetChildIndex(SomeControl, 0);
否则只需点击设计器中的“Bring to Front”或“Send to back”,因为@KeithS已经回答。