2009-05-18 12 views
1

winformsアプリケーションでは、DataGridViewの無効なセルを赤色で表示するように求められました。現在のビジュアルスタイルに合った赤い色を見つける必要がありますが、ユーザーがほとんどが赤色であるパレットを選択した場合は、まだ独特です。現在のビジュアルスタイルに一致する色を作成するにはどうすればよいですか?どのように私は衝突を避けることを確認するのですか?現在のビジュアルスタイルに一致する色を作成するにはどうすればよいですか?

答えて

1

あなたはこれを間違った方法で見ていると思います。レッドはいくつかの理由から選ばれることが多い。それは何かが間違っているか危険であることを描写するために一般的に使用される(他のものの中でも西部の文化において)。しかし、赤はまた、通常目立つ色です。しかし、ページ上の何かにユーザーの注意を向けると、間違いのない方法が2つあります。

1)ユーザーは、赤をテーマにしたスタイルを持っていることのアニメーションGIFやビデオ(

2 *** F)または

など迷惑な)衝突色

通常の赤が目立ち

が、あなたの状況では、あなたの最善の賭けは、衝突する色で行くことです。一緒になって衝突する色を持つことは可能です(それが理にかなっている場合)。ここで

は、私は私が同様にあなたを助けるかもしれカラースキームを見つけるのを助けるために過去に使用しているいくつかのウェブサイトです。

KulerColor CombosColor scheme designer

これが答えますされていないかもしれません探していたが、助けてくれることを願っています。

1

質問はちょっとあいまいで少し主観的です。例に直接コメントする方がはるかに簡単です。しかし、multitude of on-line toolsがあり、ウェブサイト用のカラーパレットを作成するのに役立ちます。これらは、特定の色合いが他のさまざまな色とどのように相互作用するかを測定するのに役立ちます。

これが役に立ちます。

0

Krypton Toolkit(http://www.componentfactory.com)をご覧ください。テーママネージャを使ってWinFormsコントロール用の無料ツールキットを提供しています。このテーママネージャは、現在の色の値を抽出するためにすぐに使用できるメソッドを提供します。

私はそれらとは関係ありません。私は自分のプロダクト(ロイヤルTS:http://www.code4ward.net)に使用し、それが本当に便利だとわかりました。

美しいUIを作りたい場合は、クリプトンのものを見てください。

3

元のポスターが色(色)のパレットを作るのではなく、無効なセルを強調表示しようとしていると思います。選択されたハイライトカラーは赤色ですが、ユーザが赤色のパレットを選択した場合、赤色が出ないことが懸念されます。

このことについて:無効なセルをペイントするときは、テキストにはSystemColors.Windowを使用し、背景にはSystemColors.WindowTextを使用します。 (またはDataGridViewに相当するもの)を使用します。この方法では、無効なセルが通常のセルの反対の色になることが保証されます。

+0

それでは、SystemColorクラスの色を使用していますが、顧客が赤を要求しています。 – Simon

1

ControlPaintクラスのLightDarkの方法を試してみることもできます。私は似たようなことをしていますが、それと反対の方向です。グリッド内のいくつかの行を目立たせる必要がありましたが、選択した行ほど目立ちませんでした。だから私はこのようなデフォルトの選択の色よりも少し軽くした色を作成しました:

 checkedColor = ControlPaint.Light(grid.DefaultCellStyle.SelectionBackColor, 1.65f); 

は、おそらくいくつかの追加のロジックと、それを使用しよう、と目立つように作られているいくつかのシステムカラーをベースにしますでした。たとえば、System.Drawing.SystemColors.HighLightまたはSystem.Drawing.SystemColors.HotTrackです。

関連する問題