2011-11-14 53 views
-2

4.0フレームワークを使用したvb.net Windows Formsアプリケーションがあります。 XPマシンでアプリケーションを実行すると、コントロールの色はすべて、IDEマシン(XPマシン)に設定されているものと一致します。Windows 7とXPの間のWindowsフォームの色のバリエーション

このアプリケーションをWindows 7マシンで実行すると、色がすべて変更されます。

これはなぜ、どのように私の開発マシンに一致するWindows 7を作ることができますか?デザインである -

デビッド

答えて

2

Windowsフォームは、彼らが実行しているマシンが有効になっているものは何でも「テーマ」を取るしようとしています。正直なところ、Windows 7上で実行されているWindowsフォームがXPウィンドウのように見えるのは意味がありません。なぜあなたはあなたのWindowsフォームがXP上で常に動作しているように見えるようにするために何らかのコンテキストを与えることができますか?

+0

バックカラーはすべて「コントロール」から黒に変更され、テキストは「黒」から青に変更されます。フォームをほとんど使用できないようにします。私はそれがXPのように見えるかどうか気にしない、私はIDEで選択した色に一致させるだけです。 –

+0

それはWindows 7のようにはならないはずです。私はデザイナの.csファイルでコントロールの要素を調べ、何かの色をデフォルト以外の値に設定していないことを確認します。すべての色が「システム」色に設定されている場合は、完全に使用可能で、.NET 4.0をサポートするすべてのバージョンのWindowsのシステムテーマと一致する必要があります。 –

+0

私はそれ以来、テーマを変更しても効果がありませんでした。私のプログラムで色を変更することもできません。カスタムコントロールはありませんが、VS 2010のWindowsフォームからはまったくまっすぐです。この動作は、複数のXPマシンとWin7マシン間で非常に一貫しています。 –

0

ボタンのBackColorプロパティを使用して背景色を変更することができます。 ForeColorプロパティは、テキストの色を変更します。

編集:いくつかの周りを再生した後、以下を追加しました。

ボタンのUseVisualStyleBackColorプロパティがFalseに設定されていることを確認してください。周りを再生私はこれが本当であるとき、私の背景色の選択を無視し、マシンのデフォルトを使用することに気づいた。 Falseの場合、私の背景色が使用されました。

+0

Johnieありがとうございますが、コントロールのプロパティで選択された色は、PCが使用しているテーマによって上書きされます。 XPまたはWin7の問題ではありません。 –

0

これも見つかりました。私のVB6プロジェクトはWindows XPでうまくいきました。 私はWindows 7に移動し、このマシンにプロジェクトフォルダをコピーしました。 私のスプラッシュスクリーンのバックカラーは白であるはずでしたが、今は黒でした。 バックカラーは& H80000009 &に設定されていましたが、これはwinXPでは白でしたが、Windows 7では黒く表示されていました。 バックカラーを& H80000005 &に変更しました。もう一度白です。

関連する問題