使控制在顶部

Or *_*lel 3 c# image topmost windows-forms-designer

我有这个图像,我希望它在另一个图像的顶部.

(窗口申请表,c#)

Kei*_*thS 8

如果这是一个控制部分重叠另一个,你想一个或另一个之上,右键单击要在设计上面的图像,并选择"置于顶层".有一个"发送到后面",你可以在你想要的图像上使用另一个.

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


noe*_*cus 8

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

yourControl.BringToFront();
yourControl.SendToBack();
Run Code Online (Sandbox Code Playgroud)

您还可以使用Control.ControlCollection.SetChildIndex从控件的父容器中控制它 .例如:

// Bring control to front    
MyForm.Controls.SetChildIndex(SomeControl, 0); 
Run Code Online (Sandbox Code Playgroud)

否则,只需点击"置于顶层"或"置于底层"的设计师,如@KeithS已经回答了.