gpt4 book ai didi

c# - Windows窗体文本框的透明度

转载 作者:可可西里 更新时间:2023-11-01 07:44:06 24 4
gpt4 key购买 nike

我在 C# 中使用 Windows 窗体,我需要使文本框的背景颜色透明。我有一个从 0 到 255 的轨迹栏,应该可以控制它,但我遇到了一些麻烦。我今天早些时候创建了一个问题,询问完全相同的事情,但没有成功。

这是我目前拥有的代码:

private void trackAlpha_ValueChanged(object sender, EventArgs e)
{
newColor = Color.FromArgb(trackAlpha.Value, colorDialog.Color.R, colorDialog.Color.G, colorDialog.Color.B);
colorDialog.Color = newColor; // The Windows dialog used to pick the colors
colorPreview.BackColor = newColor; // Textbox that I'm setting the background color
}

问题是绝对没有任何反应。关于为什么这不起作用的任何想法?

关于上一个问题,这个好人说了一些关于 SetStyle(ControlStyles.SupportsTransparentBackColor, true); 的内容,但我不知道我应该把它放在哪里。

最佳答案

你需要尝试这样的事情。

添加一个新的用户控件,说 CustomTextBox 并更改

public partial class CustomTextBox : UserControl

public partial class CustomTextBox : TextBox

然后您将收到以下错误消息,指出“AutoScaleMode”未定义。删除 Designer.cs 类中的以下行。

this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

如下更改新添加控件的构造函数。

public partial class CustomTextBox : TextBox
{
public CustomTextBox()
{
InitializeComponent();
SetStyle(ControlStyles.SupportsTransparentBackColor |
ControlStyles.OptimizedDoubleBuffer |
ControlStyles.AllPaintingInWmPaint |
ControlStyles.ResizeRedraw |
ControlStyles.UserPaint, true);
BackColor = Color.Transparent;
}
}

构建,关闭自定义控件设计器(如果打开),您将能够在任何其他控件或窗体上使用此控件。

将其从工具箱中拖出,如下图所示 enter image description here

关于c# - Windows窗体文本框的透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com