在继承DataGridTextBoxColumn后重写Paint时protected override void Paint(System.Drawing.Graphics g, System.Drawing.Rectangle bounds, System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Brush backBrush, System.Drawing.Brush foreBrush, bool alignToRight)
{
try
{
//。
}
catch{}
finally
{
base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
}现在的问题是:
1.如何在Paint中获取当前列的列值?(即当前是哪一列?)
2.如何在Paint中获取其他列中的数值?(因为要根据其他列中的数值来设置当前列的背景色)
3.可否在Paint中获取DataGrid类型的对象?
{
try
{
//。
}
catch{}
finally
{
base.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight);
}现在的问题是:
1.如何在Paint中获取当前列的列值?(即当前是哪一列?)
2.如何在Paint中获取其他列中的数值?(因为要根据其他列中的数值来设置当前列的背景色)
3.可否在Paint中获取DataGrid类型的对象?
dataGrid1.GetCellBounds(myrow, mycol)可以得到你想到的任何一个Cell的Rectangle
DataGrid.HitTestInfo hitInfo = dataGrid.HitTest(new Point(bounds.X,bounds.Y));int row=hitInfo.Row;
int col=hitInfo.Column;