为什么会提示“控件不支持透明背景色”?我正在使用C#-Winforms应用程序并尝试设置只读文本框的背景颜色,如下所示...txtMyBox.BackColor=Color.FromName("Red");这是错误的错误消息...System.ArgumentException未处理Message=Control不支持透明背景色。Source=System.Windows.Forms要事第一;这是为只读文本框设置背景颜色的正确方法吗?我为普通文本框做了很多工作,它似乎工作正常。如果是,有人可以帮我解决“透明背景色”问题吗,我为什么需要一个?我不认为我这样做;我只是想让背景改变颜色。更好的方法是:txtMyBox.BackColor=Color.Red;您收到的错误是由于代码中的其他地方造成的,您试图将表单的背景颜色设置为透明并且不受支持,请仔细检查您的代码,您会发现类似这样的内容:BackColor=颜色.透明;由于没有元素名称(即myControl.BackColor=somthing)并且您的句子以BackColor=somthing开头-编译器认为您想将表单的背景颜色更改为transparent,请检查您的表单编辑器-您可能是从那里开始的.这是您的错误的重现:publicpartialclassForm1:Form{publicForm1(){InitializeComponent();BackColor=Color.Transparent;//控件不支持透明背景色。很老的帖子但是......你以前试过这个吗?publicpartialclassMyForm:Form{publicMyForm(){this.SetStyle(ControlStyles.SupportsTransparentBackColor,true);初始化组件();}}改用这个FromNametxtMyBox.BackColor=Color.Red;ColorTextBox.BackColor=colorDialog1.Color;textBox2.BackColor=System.Drawing.Color.FromArgb(ColorTextBox.BackColor.ToArgb());有点晚了-但最终帮助像我这样的人根据OP的问题找到了这个页面:SettinggeneratedbyaIgetthiserrorwithWinformsSplitterbackgroundcolorColor.FromArgb(0xC9,0xD9,0xEB);解决方案是使用以下辅助方法生成Color值:ColorTranslator.FromHtml("#C9D9EB")这样可以避免生成透明度信息。以上是C#学习教程:为什么会提示“控件不支持透明背景色”?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
