データのバインドされたアイテムによって、各行の背景が異なるDataGridViewがあります。しかし、行を選択すると、元の背景色が見えなくなります。この問題を解決するにはDataGridViewの行:選択時の半透明の選択または行の境界
、私は2つの解決策を考えています
私は2つの選択行が異なる背景色を持っているかどうかを確認することが可能となる、選択は半透明にすることができます。
または、私は選択色を完全に削除し、選択した行の周りに境界線を描画することができます。
どのようなオプションが簡単ですか?どのようにすればいいですか?
これはWinFormアプリケーションです。
編集:私はあなたのコードの一部を使用して終了、漂流
private void dgv_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
{
if (dgv.Rows[e.RowIndex].Selected)
{
var row = dgv.Rows[e.RowIndex];
var bgColor = row.DefaultCellStyle.BackColor;
row.DefaultCellStyle.SelectionBackColor = Color.FromArgb(bgColor.R * 5/6, bgColor.G * 5/6, bgColor.B * 5/6);
}
}
これは、半透明の選択色の印象を与えます。ご協力いただきありがとうございます!
私はこれにショットを付けました。それは問題ありませんでした。それから、新たな問題が浮かび上がってきました。透明な選択色は、並べ替えの後では本当に醜い(テキストは古いテキストやものになりました。))、別の解決策を探します。 –
代わりに半透明の選択色を作成するためにコードを使用しました。編集を参照してください。ご協力いただきありがとうございます! –