使一个控件置于顶层

6

我有一张图片,想把它放在另一张图片上面。

(窗体应用程序,C#)


1
有没有置顶或置于顶部的方法?无论是在代码中还是在IDE中的右键菜单中。 - Tim
2个回答

13

在代码中,您可以使用几个调用。其中BringToFrontSendToBack可能是最简单的:

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

同时,您也可以通过控件的父容器使用Control.ControlCollection.SetChildIndex来控制它的顺序。例如:

// Bring control to front    
MyForm.Controls.SetChildIndex(SomeControl, 0); 
否则,只需在设计器中点击“Bring to Front”或“Send to back”,如@KeithS已经回答的那样。

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


1
对我没用,最终我使用了someControl.BringToFront()。 - Mario The Spoon

9
如果一个控件部分重叠在另一个控件上,并且你想让其中一个控件在上面,可以在设计器中右键单击你想要置于顶层的图片,然后选择“Bring To Front”。还有一个“Send To Back”选项,可以用于将一个图片置于另一个图片后面。
如果你想要部分透明度,比如在顶部图片上使用alpha掩码或在两个图片之间进行渐变混合,那么你可能需要WPF图形的更高级功能。虽然WinForms可以进行像素级别的效果处理,但是WinForms没有内置处理图像透明度的功能,而且对于Winforms中的图像进行像素级别的操作不会利用任何图形加速(100% CPU,运行时的开销会进一步减慢速度)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接