web-dev-qa-db-ja.com

DataGridView行:半透明の選択または選択時の行の境界線

各行の背景がデータバインドされたアイテムに応じて異なるDataGridViewがあります。ただし、行を選択すると、元の背景色が表示されなくなります。

これを解決するために、私は2つの解決策を考えました。

選択範囲を半透明にして、選択した2つの行の背景色が異なるかどうかを確認できます。

または;選択色を完全に削除して、選択した行の周りに境界線を引くことができます。

どのオプションがより簡単で、どのようにこれを行うことができますか?

WinFormアプリです。

編集:私は私の元の投稿のコードに終わりました: https://stackoverflow.com/questions/4448945/datagridview-row-semi-transparent-selection-or-row-border-on-selection =

2
Jim Carragher

「各行の背景はデータバインドされたアイテムによって異なる」と読んだときの私の最初の反応はああ、私は彼が多くて1つまたは2つの色について話していることを願っています! :-)

選択の問題を解決するのではなく、それを問題のないものにして、それを解消することをお勧めします。別の列を追加して、背景色が表すのと同じ情報を提供することでそれを実現します。 IMOはよりクリーンになるだけでなく、次の利点も提供します。

  • 「ステータス」(または色付きの背景が表すものであれば何でも)で並べ替えることができます

  • さまざまな色があまりない場合は、形状を使用できる可能性があります。これは カラーブラインド に非常に役立ちます。

  • ビジュアルと数値情報を組み合わせることができます。次の画面のスナップショットは列の進行状況バーを示していますが、同様のアプローチを使用して、現在背景色が達成しようとしていることを表すことができます。

    alt text

背景色を使用する必要がある理由はありますか?

2
Hisham