.NET TextBox 背景色问题
在 .NET 页面上,我有一个文本框。如果我不更改 BackColor
属性,它看起来很平坦。但是,当使用 BackColor
时,例如:
txt.BackColor = System.Drawing.Color.Yellow;
外观变为某种我不太喜欢的“3D”。有可能避免这种影响吗?
第一:
编辑:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
背景色似乎会影响 borderstyle-property?这对我来说毫无意义,
但我可以像这样模拟“正常”文本框的外观
It seems backcolor influences the borderstyle-property? which makes no sense to me,
but I can simulate the look of a "normal" textbox like this
欢迎来到浏览器的世界。浏览器使用当前的操作系统和自己的控件来呈现控件。因此,在使用 Safari 的 Mac 上,文本框可能看起来与 Ubuntu 和 Firefox 上的不同。 Windows 上的 IE。
您可以通过设置样式来影响这一点,但您仍然依赖于浏览器。更好的方法是创建一个 css 文件,其中包含要应用于定义的输入元素的所有样式,或者创建一个 css 类,以便您可以独立应用它们。您只需要引用 css 文件即可获取样式,而不是每次都设置所有这些属性。
西蒙
Welcome to the world of browsers. Browsers use the current OS and there own controls to render controls. So on a Mac using Safari, text boxes may look different to Firefox on Ubuntu & IE on Windows.
You can influence this by setting styles but you're still dependant on the browser. What would be better would be to create a css file with all the styles you want to apply to an input element defined, or create a css class so you can apply them independently. You only need reference the css file then to get the styling, rather than setting all those properties every time.
Simon
我遇到了同样的问题,文本框被设置为“.Enabled=false”和“.BackColor = Color.LightGrey”。文本框边框已更改为“3D”。
只需设置“.Enabled = false”即可将文本框默认设置为灰色。将其更改回“.Enabled=true”将文本框设置回白色。
边界没有改变。
因此,如果不需要,请不要更改 .BackColor。
I had this same issue where the text box was being set to ".Enabled=false" and ".BackColor = Color.LightGrey". The textbox border was being changed to "3D".
Just setting the ".Enabled=false" sets the text box to grey by default. Changing it back to ".Enabled=true" set the text box back to white.
The border was not changed.
So don't change the .BackColor if you do not have to.