第一种方法,从datagrid继承,然后override MouseMove这个事件,private int currentHoverRow = 0, oldHoverRow = 0;
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
{
if(e.Button != MouseButtons.Left)
{
base.OnMouseMove(e);
} DataGrid.HitTestInfo hti = this.HitTest(new Point(e.X, e.Y));
if(hti.Type == DataGrid.HitTestType.RowResize)
{
return; //no baseclass call
}
if(hti.Type == DataGrid.HitTestType.Cell)
{
currentHoverRow = hti.Row;
if(oldHoverRow > -1)
{
UnSelect(oldHoverRow);
Select(currentHoverRow);
oldHoverRow = currentHoverRow;
}
}
}第二种方式,和上面类似,只不过不继承
dataGrid1.MouseMove += new MouseEventHandler(myMouseMoveMethod);
myMouseMoveMethod方法,可以使用上面的内容。
protected override void OnMouseMove(System.Windows.Forms.MouseEventArgs e)
{
if(e.Button != MouseButtons.Left)
{
base.OnMouseMove(e);
} DataGrid.HitTestInfo hti = this.HitTest(new Point(e.X, e.Y));
if(hti.Type == DataGrid.HitTestType.RowResize)
{
return; //no baseclass call
}
if(hti.Type == DataGrid.HitTestType.Cell)
{
currentHoverRow = hti.Row;
if(oldHoverRow > -1)
{
UnSelect(oldHoverRow);
Select(currentHoverRow);
oldHoverRow = currentHoverRow;
}
}
}第二种方式,和上面类似,只不过不继承
dataGrid1.MouseMove += new MouseEventHandler(myMouseMoveMethod);
myMouseMoveMethod方法,可以使用上面的内容。
结果有找不到引用等错误,请问大哥我该如何
定义、引用上面的例子呢?谢谢了先
{
ListItemType itemType = e.Item.ItemType;
if (itemType == ListItemType.Item || itemType == ListItemType.AlternatingItem )
{
e.Item.Attributes.Add("onmouseover","this.bgColor=#0000ff");
}
}
e.Item.Attributes.Add("onmouseout","this.bgColor=#ffffff");
e.Item.Style.Add("CURSOR","hand");