WinForms ProgressBarコントロールでは、フォアグラウンドカラーを設定できます。これは正常に動作しますが、前景の色の設定は、XPでは無視されるように見えます。WinForms:プログレスバーのフォアグラウンドカラーは常に緑色に表示されます。
同様にXPルーナは「スタイル」を無視しているようです:私は「連続」に設定しましたが、プログレスバーは常にブロックで描画されます。
これは正しい動作になっていますか?これを回避する方法はありますか?
WinForms ProgressBarコントロールでは、フォアグラウンドカラーを設定できます。これは正常に動作しますが、前景の色の設定は、XPでは無視されるように見えます。WinForms:プログレスバーのフォアグラウンドカラーは常に緑色に表示されます。
同様にXPルーナは「スタイル」を無視しているようです:私は「連続」に設定しましたが、プログレスバーは常にブロックで描画されます。
これは正しい動作になっていますか?これを回避する方法はありますか?
Lunaビジュアルスタイルを無効にするには、自動生成されたProgramクラスのApplication.EnableVisualStyles()への呼び出しを削除します。
これはあなたが条件付きでVistaの視覚的なスタイルは、Styleプロパティを尊重するので、IIRCは(テストすることはできません、OSに依存し、それを呼び出すことができますのWindows 2000のような
を見て、そのポイントの後に作成したフォーム上のすべてのコントロールを行います今、私のラップトップは死んだ)。
は手動でPaintイベントを介して、または制御とオーバーライドのOnPaint *()から派生させてコントロールのレンダリングを処理することができます。
プログレスバーがかなりシンプルなので、独自のロールバックを使用することもできます。
Hm。残念なことに、このフォームはVisualStudio AddInによってホストされているので、Lunaビジュアルスタイルをすべて無効にすることはできません。 –
これは確かに物事を変えます;) – bsneeze
もっと簡単な解決策があると思っていましたが、これは実際にはバグと考えられるAPIの変更であるようです。しかし、ありがとう。 –