1
カスタムを作成しましたDataGridViewTextBoxCell
インスタンス。それらのほとんどで私はカスタムForeColor
の値を設定し、それは正常に動作します。しかし、SelectionMode
がFullRowSelect
の場合、このセルの値はForeColor
に優先します。DataGridViewカスタムセルは、選択したときに通常のForeColorを使用する必要があります
セルがセルにされても動作しないときにDrawイベントで設定しようとしました。
私のセルは次のように定義されています。
public class CustomCell : DataGridViewTextBoxCell
{
protected override object GetFormattedValue(object value, int rowIndex, ref DataGridViewCellStyle cellStyle, TypeConverter valueTypeConverter, TypeConverter formattedValueTypeConverter, DataGridViewDataErrorContexts context)
{
if (string.IsNullOrEmpty(value.ToString()))
{
return base.GetFormattedValue(value, rowIndex, ref cellStyle, valueTypeConverter, formattedValueTypeConverter, context);
}
if (value.ToString().Contains("test"))
{
cellStyle.ForeColor = Color.Blue;
}
return base.GetFormattedValue(value, rowIndex, ref cellStyle, valueTypeConverter, formattedValueTypeConverter, context);
}
}
Iは、選択モードを変更する必要はありませんが、私はその権利ForeColor
が、選択BackColor
と、このセルを表示したいです。
このソリューションはどのように見えるのですか?
ありがとう、それは動作します。私はイベントを使うことができることを知っています。しかし、実際に特別なルールを適用して同じように見えるはずのプログラム全体にたくさんのセルがあります。このためにカスタムセルを作る方がよかったです。 – Booser
あなたはより良い要求を知っている、私はあなたの情報や将来の読者のためだけにそれを共有:) –