среда, 14 апреля 2010 г.

DataGridView подсветка строки

Для подсветки строки нужно указать:
DataGridView.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Gold;

для градиентной заливки
private void DataGridView_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
if (e.RowIndex > -1)
{
Rectangle r = e.CellBounds;
Brush b = new System.Drawing.Drawing2D.LinearGradientBrush(r, SystemColors.Window, Color.LightCoral, System.Drawing.Drawing2D.LinearGradientMode.Vertical);
e.Graphics.FillRectangle(b, e.CellBounds);
//Pen p = new Pen(Color.Black); //для прорисовки рамки ячейки
//e.Graphics.DrawRectangle(p, e.CellBounds); //для прорисовки рамки ячейки
//e.CellStyle.Font = new Font(e.CellStyle.Font, FontStyle.Bold); //для изменения шрифта
e.PaintContent(r); //прорисовать содержимое, обязательно не забыть
}
}


хочу сразу извиниться если код не правильный я человек начинающий могу ошибаться, но в любом случае код рабочий на 100% просто может можно сделать оптимальнее

DataGridView ToolTip

Это первая запись по теме C#, я хочу здесь описывать некоторые моменты которые вызвали у меня затруднения.
и та непосредственно к теме.

Мне необходимо было сделать, что бы над каждой строкой в DataGridView вываливался свой ToolTip.
Для начала добавляется ToolTip на форму, по умолчанию всё настроено как надо.
Сам текст ToolTip(а) для яцейки храниться не в свойствах ToolTip а в свойствах ячейки, что и вызвало затруднения. вот сам код:
private void DataGridView_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex > -1 && e.ColumnIndex > -1)
{
DataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].ToolTipText = "Текст выподающий при наведении на ячейку" ;
}
}