我正在尝试像第一张图片一样在整个窗体上添加阴影,除了那是WPF而不是WinForm。现在,我想在winform上添加相同的阴影。
这就是我想要的。
不是这个。
最佳答案
在WinForms中,您可以覆盖表单的 protected CreateParams
属性,并将 CS_DROPSHADOW
标志添加到类样式中。例如:
public class ShadowedForm : Form {
protected override CreateParams CreateParams {
get {
const int CS_DROPSHADOW = 0x20000;
CreateParams cp = base.CreateParams;
cp.ClassStyle |= CS_DROPSHADOW;
return cp;
}
}
// ... other code ...
}
但是,有几点警告...
SystemParametersInfo
函数并传递SPI_GETDROPSHADOW
标志来确定是否启用阴影。 CS_DROPSHADOW
分开并且不同,并且仅在启用Aero时有效。无法为单个窗口关闭和打开它。而且,由于Aero主题已从Windows 8中删除,因此永远不会有这些阴影。