PDA

View Full Version : آموزش: High Light سطرهای دیتاگرید ویو ...



ghasem110deh
جمعه 03 بهمن 1393, 17:58 عصر
سلام به همه ...
جهت های لایت کردن دیتاگرید ویو با آمدن موس روی هر سطر ....

public Listcam() {
InitializeComponent();
}


private DataGridViewCellStyle HighlightStyle;
private int HighlightedRowIndex = -1;
private void SetRowStyle(DataGridViewRow row, DataGridViewCellStyle style)
{
foreach (DataGridViewCell cell in row.Cells)
{
cell.Style = style;
}
}

در رویداد CellMouseEnter :

if (e.RowIndex == HighlightedRowIndex) return; if (HighlightedRowIndex >= 0)
{
SetRowStyle(dataGridView1.Rows[HighlightedRowIndex], null);
}
HighlightedRowIndex = e.RowIndex;
if (HighlightedRowIndex >= 0)
{
SetRowStyle(dataGridView1.Rows[HighlightedRowIndex], HighlightStyle);
}

و در رویداد CellMouseLeave :

if (HighlightedRowIndex >= 0) {
SetRowStyle(dataGridView1.Rows[HighlightedRowIndex], null);
HighlightedRowIndex = -1;
}

تا حالا که هیچ اتفاقی نیوفتاده !!!

در روی داد لود فرم : (جهت تعیین رنگ و فونت و ...)

HighlightStyle = new DataGridViewCellStyle(); HighlightStyle.ForeColor = Color.Red;
HighlightStyle.BackColor = Color.Yellow;
HighlightStyle.Font = new System.Drawing.Font(dataGridView1.Font, FontStyle.Bold);


-----------------------------------------------------------------------------------------------------------
دوستان اگر بیشتر از یک دیتاگرید ویو داشته باشید می بایست دستورات رویداد موس اینتر و موس لیو در دیتاگریدویو بعدی مجددا نوشته شود و نام دیتاگریدویو در خط زیر تغییر کند :

HighlightStyle.Font = new System.Drawing.Font(dataGridView1.Font, FontStyle.Bold);

موفق باشید !