Как я reset свойство .NET Window Forms TextBox BackColor?

По умолчанию свойство свойства BackColor для TextBox выглядит следующим образом: когда он включен, он White (SystemColors.Window), когда отключен он серый (не уверен, что такое SystemColor).

Если я изменяю свойство BackColor, тот же цвет используется как для Enabled, так и для Disabled. Как я reset свойство BackColor (после того, как оно было изменено ранее), чтобы поведение возвращалось к умолчанию?

Я попытался установить его обратно на SystemColors.Window, но при этом окно остается белым при отключении.

Ответы

Ответ 1

Если вы имеете в виду в дизайнере, вы можете просто щелкнуть в свойстве BackColor и удалить все, что там, а затем нажать enter. Это приведет к возврату свойства reset к его значению по умолчанию.

Если вы имеете в виду код, вы можете установить для свойства BackColor значение Color.Empty, и это будет иметь тот же эффект.

Ответ 2

TextBox.ResetBackColor()

По какой-то причине он не появляется в IntelliSense, но он там и компилируется.

Ответ 3

В случае, если нет способа reset элемента управления, чтобы он автоматически возвращал цвет фона при включении/отключении, я бы рекомендовал использовать событие UIElement.IsEnabledChanged, чтобы установить желаемый активированный/отключенный цвет фона. Надеюсь, это полезно!

Ответ 4

SystemColors.Window (обычно) белый. Используйте SystemColors.Control.

Вы могли бы, конечно, кэшировать используемый цвет, когда вы установите его самостоятельно, а затем используйте его для reset. В конце концов, однако, любой подход будет работать.