ControlStyles

C# Winform 中真正意义的透明控件

若如初见. 提交于 2019-12-10 03:35:27
在稍微复杂的交互应用中,避免不了耗时的操作,这时候总希望给用户明确的提示,表示程序在运行中暂时不能进行其他操作。显示一个半透明的处于等待状态的遮罩层是很好的方法。在Web应用程序中直接设置Div的透明度然后覆盖操作界面就好,但是Winform的好像并没有提供透明度之类的属性。关于Background 中的 Transport 是特指背景透明的,其实质是继承父容器的背景颜色或者图片,在效果上看起来是一致的,但是如果父容器中包含其他的控件,则这种透明是无法显示这些控件的。此外还有一种真正意义的透明,它在隐藏在 ControlStyles 的特性设置中。 // 摘要: // 指定控件的样式和行为。 [Flags] public enum ControlStyles { ... // 摘要: // 如果为 true,则控件被绘制为不透明的,不绘制背景。 Opaque = 4, // // 摘要: // 如果为 true,控件接受 alpha 组件小于 255 的 System.Windows.Forms.Control.BackColor 以模拟透明。仅在 // System.Windows.Forms.ControlStyles.UserPaint 位设置为 true 并且父控件派生自 System.Windows.Forms.Control // 时才模拟透明。