2017-01-16 12 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

のVisual Studio 2005でアプリケーションをターゲットとした.NET V2.0に黒の背景を持っていますWindows 7への移行が完了したら、.NETおよびVisual Studioのそれ以降のバージョンに移行します)。使用可能なプロパティはどれも役立たないようです。ここで私は、関連するかもしれないと思ったプロパティのリストは、(XPと7の両方で同じ)である:彼らは、Windows XP上で実行するようにボタンを探して取得するために行われる必要がある

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

何?

+4

OSによって定義されたActiveCaptionTextにボタンの色を設定します。明らかにこのマシンでは色は黒です。 'Color.Grey'やRGB値のようなものに手動で色を設定してください。 – Equalsk

答えて

3

ActiveCaption色はSystemColorsクラスで定義されています。これらはOSに設定されています。

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

アクティブキャプションがアクティブウィンドウのタイトルバーの背景の色です。

私はあなたがそれをしたいかのように見えるためにあなたのフォームを取得するためにControlBackColorプロパティを変更する必要があると思う:

BackColor = SystemColors.Control; 

、または任意の他の所望の色。

+1

それは動作します!システムカラーの定義がWindowsのバージョン間で変更される可能性があることを知るには良いレッスンです。 – AlainD

関連する問題