我有一个文本框,我使用它的背景颜色作为颜色预览,以及一个控制该颜色的alpha的轨迹栏。我正在使用以下代码:
private void trackAlpha_ValueChanged(object sender, EventArgs e) {
colorPreview.BackColor = Color.FromArgb(trackAlpha.Value, colorDialog.Color.R, colorDialog.Color.G, colorDialog.Color.B);
}
事实证明,滚动alpha不会对预览产生任何影响。
关于为什么会发生这种情况的任何想法?
答案 0 :(得分:1)
WinForms Control
支持alpha通道,但默认情况下不支持。对于您想要具有半透明背景颜色的控件,您必须调用SetStyle
方法:
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
该方法受到保护,因此您必须从您想要的控件继承并在构造函数或其他内容中调用它。此控件将是colorPreview
所指的任何内容。