如何在 vb.net 中找到文本框的只读背景色?

How do I find the read only backcolor of a textbox in vb.net?

我在 VB.Net 中遇到一种情况,我在面板内有几个文本框。

我需要将文本框设置为只读并将它们灰显。问题是这些框在面板内,所以我需要将面板更改为与文本框相同的颜色。

但是,只读文本框的默认 "grayed out" 颜色在所有 OS 和桌面样式上并不相同。

例如;

当我在我的 PC 上检查只读文本框的颜色时,它的颜色是 #D4D0C7 而在我办公室的另一个人的 PC 上是完全相同的框(都使用 Windows 7,但是不同的桌面样式)是 #F1F1F1

那么如何设置面板的颜色以匹配文本框的默认颜色?

正在从 SystemColors collection 中拾取颜色。

它似乎是 SystemColors.Control 如果您在设计时将文本框设置为 ReadOnly = True 并检查 BackColor 属性

就可以看到

这些颜色可以根据每个用户的个人资料设置而改变。