Как я 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. В конце концов, однако, любой подход будет работать.