2017-01-16 4 views
4

В настоящее время я перемещаю приложение, ориентирующее WIndows XP и Server 2003 на Windows 7 (и более поздние). Большая часть приложения работает хорошо, но некоторые кнопки имеют черный фон в ОС Windows 7.Кнопка имеет черный фон на Windows 7

Add Machine in Windows XP Windows XP

Add Machine dialog in Windows 7 Windows 7

Мишени приложений .NET v2.0 в Visual Studio 2005 (один раз переход на Windows 7 завершен, мы перейдем к более поздним версиям .NET и Visual Studio). Кажется, что ни один из доступных свойств не помогает. Вот список свойств я думал, что может иметь значение (то же самое как на XP и 7):

BackColor = ActiveCaptionText 
BackgroundImage = (none) 
TileBackgroundImageLayout = Tile 
ForeColor = ControlText 
TextImageRelation = Overlay 
UseVisualStyleBackColor = False (changing to True doesn't help) 

Что нужно сделать, чтобы получить кнопки, глядя, как они делают на Windows XP?

+4

Вы устанавливаете цвет кнопки в ActiveCaptionText, который определяется ОС. Очевидно, что на этой машине цвет черный. Вручную установите цвет как-то вроде «Color.Grey» или любого значения RGB. – Equalsk

ответ

3

Цвет ActiveCaption определяется в классе SystemColors. Они устанавливаются в ОС.

http://msdn.microsoft.com/en-us/library/system.drawing.systemcolors.aspx

Активный заголовок цвет фона строки заголовка активного окна.

Я думаю, что нужно изменить BackColor свойство Control, чтобы получить форму, чтобы выглядеть, как вы хотите:

BackColor = SystemColors.Control; 

Или любой другой желаемый цвет.

+1

Это работает! Хороший урок, чтобы узнать, что определение системных цветов может изменяться между версиями Windows. – AlainD

 Смежные вопросы

  • Нет связанных вопросов^_^