0

我有一个文本框,我使用它的背景颜色作为颜色预览,以及一个控制该颜色 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 对预览没有任何影响。

关于为什么会发生这种情况的任何想法?

4

1 回答 1

1

WinFormsControl确实支持 alpha 通道,但默认情况下不支持。对于您想要具有半透明背景颜色的控件,您必须调用该SetStyle方法:

this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);

该方法受到保护,因此您必须从所需的控件继承并在构造函数或其他东西中调用它。该控件将colorPreview是所指的任何内容。

于 2013-04-16T20:52:54.087 回答