1. 程式人生 > >C#在DataGridView當滑鼠移到某行時,該行改變顏色

C#在DataGridView當滑鼠移到某行時,該行改變顏色

在datagridview當滑鼠移到某行時,該行改變顏色 Winform: DataGridView屬性中有個SelectMode之類的屬性,可以設定是選擇單元格還是選擇行。 在DataGirdView屬性中還有DefaultCellStyle之類的屬性,可以設定選中時的背景色、字型顏色等。

private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)   //滑鼠移動到某行時更改背景色  {  if (e.RowIndex >= 0)        {  dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.LightBlue;        }  } 
private void dataGridView1_CellMouseLeave(object sender, DataGridViewCellEventArgs e) //滑鼠移開時還原背景色 {  if (e.RowIndex >= 0)     {  dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;     } }    ///   <summary>   ///   滑鼠移動事件處理   ///   </summary>   ///   <param   name= "sender "> </param>  ///   <param   name= "e "> </param>  
private   void   dataGridView1_MouseMove(object   sender,   MouseEventArgs   e)  {    DataGridView.HitTestInfo   hti   =   this.dataGridView1.HitTest(e.X,   e.Y);    //如果座標在單元格內   if   (hti.Type   ==   DataGridViewHitTestType.Cell)     {   //取消選擇所有的選定單元格   this.dataGridView1.ClearSelection();    //   設定控制元件內所有行的顏色  
for   (int   i   =   0;   i   <   this.dataGridView1.Rows.Count;   i++)          {   this.dataGridView1.Rows[i].DefaultCellStyle.BackColor   =   Color.White;              if   (i   %   2   ==   0)              {   this.dataGridView1.Rows[i].DefaultCellStyle.BackColor   =   Color.FromArgb(224,   224,   224);               }               else               {   this.dataGridView1.Rows[i].DefaultCellStyle.BackColor   =   Color.FromArgb(192,   192,   192);               }    if   (this.dataGridView1.RowCount   >   hti.RowIndex)               {   //設定控制元件內滑鼠移動到的顏色   this.dataGridView1.Rows[hti.RowIndex].DefaultCellStyle.BackColor = Color.FromArgb(255,   255,   192)              }         }     }  }    private void Form1_Load(object sender, EventArgs e) {  //設定奇偶行顏色  dataGridView1.RowsDefaultCellStyle.BackColor = Color.White;  dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Beige;     //設定奇偶行選中的顏色  dataGridView1.DefaultCellStyle.SelectionBackColor = Color.White   dataGridView1.AlternatingRowsDefaultCellStyle.SelectionBackColor = Color.Beige; }  asp.net  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)     {  int i;  //執行迴圈,保證每條資料都可以更新         for (i = 0; i < GridView1.Rows.Count; i++)         {  //首先判斷是否是資料行  if (e.Row.RowType == DataControlRowType.DataRow)             {  //當滑鼠停留時更改背景色  e.Row.Attributes.Add("onmouseover" "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");  //當滑鼠移開時還原背景色  e.Row.Attributes.Add("onmouseout""this.style.backgroundColor=c");             }         }     }