使控制在顶部

时间:2011-01-13 19:23:54

标签: c# image windows-forms-designer topmost

我有这个图像,我希望它在另一个图像之上。

(窗口表单应用程序,c#)

2 个答案:

答案 0 :(得分:7)

如果一个控件与另一个控件部分重叠,并且您想要一个或另一个在顶部,请在设计器中右键单击所需的图像,然后选择“置于前面”。有一个“发送到后面”,你可以在你想要的图像上使用它。

如果你想要部分透明度,比如顶部图像上的alpha蒙版或两个图像之间的渐变混合,你可能需要更高级的WPF图形功能。您可以在WinForms中执行逐像素效果,但Winforms中没有内置任何内容来处理图像透明度,Winforms中Image的每像素操作不会利用任何图形加速(100%CPU) ,运行时的开销进一步降低了你的速度。

答案 1 :(得分:7)

在代码中,您可以进行一些调用。 BringToFrontSendToBack可能是最简单的:

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

您也可以使用控件的父容器来控制它 Control.ControlCollection.SetChildIndex。例如:

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

否则只需点击设计器中的“Bring to Front”或“Send to back”,因为@KeithS已经回答。