DataGridView 支持鼠标热点追踪吗?

lgx1972 2008-11-23 07:53:25
如题,即鼠标指针指到哪一行,哪一行的背景颜色就反白。
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgx1972 2008-11-27
  • 打赏
  • 举报
回复
多谢了!
eastkiki 2008-11-24
  • 打赏
  • 举报
回复
不过反的是红色,你改成白色就行了
eastkiki 2008-11-24
  • 打赏
  • 举报
回复

Private Sub DataGridView1_CellMouseEnter(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles DataGridView1.CellMouseEnter
'ヘッダー以外のセル
If e.ColumnIndex >= 0 And e.RowIndex >= 0 Then
Dim dgv As DataGridView = CType(sender, DataGridView)
'セルスタイルを変更する
dgv(e.ColumnIndex, e.RowIndex).Style.BackColor = Color.Red
dgv(e.ColumnIndex, e.RowIndex).Style.SelectionBackColor = Color.Red
End If
End Sub

'DataGridView1のCellMouseLeaveイベントハンドラ
Private Sub DataGridView1_CellMouseLeave(ByVal sender As Object, _
ByVal e As DataGridViewCellEventArgs) _
Handles DataGridView1.CellMouseLeave
'ヘッダー以外のセル
If e.ColumnIndex >= 0 And e.RowIndex >= 0 Then
Dim dgv As DataGridView = CType(sender, DataGridView)
'セルスタイルを元に戻す
'セルスタイルを削除するなら、nullを設定してもよい
dgv(e.ColumnIndex, e.RowIndex).Style.BackColor = Color.Empty
dgv(e.ColumnIndex, e.RowIndex).Style.SelectionBackColor = Color.Empty
End If
End Sub
tjficcbw 2008-11-23
  • 打赏
  • 举报
回复
你在改一改



Private Sub DataGridView1_CellMouseLeave(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellMouseLeave
Dim i As Integer
For i = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.White

Next


End Sub

Private Sub DataGridView1_CellMouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseMove

Dim i As Integer
For i = 0 To DataGridView1.RowCount - 1
DataGridView1.Rows(i).DefaultCellStyle.BackColor = Color.Gainsboro
Next
End Sub


qinhl99 2008-11-23
  • 打赏
  • 举报
回复
下面是DataGrid的,请参考,应该可以如法炮制

private void InitializeComponent()
{
this.dgMouseOver.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.changeRowColor);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

// ItemDataBound事件
private void changeRowColor(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//如果是数据项并且是交替项
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//添加自定义属性,当鼠标移过来时设置该行的背景色为"6699ff",并保存原背景色
e.Item.Attributes.Add("onmouseover","currentcolor=this.style.backgroundColor;this.style.backgroundColor='#6699ff'");
//添加自定义属性,当鼠标移走时还原该行的背景色
e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=currentcolor");

}
}

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧