原創(chuàng)|其它|編輯:郝浩|2012-09-25 11:04:11.000|閱讀 443 次
概述:能否當(dāng)鼠標(biāo)懸停在某一個(gè)單元格時(shí),鼠標(biāo)光標(biāo)顯示為手型光標(biāo),并且改變網(wǎng)格行的外觀?DevExpress XtraGrid當(dāng)然可以實(shí)現(xiàn)該功能。你需要處理網(wǎng)格視圖中的MouseMove和RowCellStyle事件,代碼如下:
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
能否當(dāng)鼠標(biāo)懸停在某一個(gè)單元格時(shí),鼠標(biāo)光標(biāo)顯示為手型光標(biāo),并且改變網(wǎng)格行的外觀?DevExpress XtraGrid當(dāng)然可以實(shí)現(xiàn)該功能。你需要處理網(wǎng)格視圖中的MouseMove和RowCellStyle事件,代碼如下:
[C#]
using DevExpress.XtraGrid.Views.Grid;
private int hotTrackRow = DevExpress.XtraGrid.GridControl.InvalidRowHandle;
private int HotTrackRow {
get {
return hotTrackRow;
}
set {
if(hotTrackRow != value) {
int prevHotTrackRow = hotTrackRow;
hotTrackRow = value;
gridView1.RefreshRow(prevHotTrackRow);
gridView1.RefreshRow(hotTrackRow);
if(hotTrackRow >= 0)
gridControl1.Cursor = Cursors.Hand;
else
gridControl1.Cursor = Cursors.Default;
}
}
}
private void gridView1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e) {
GridView view = sender as GridView;
GridHitInfo info = view.CalcHitInfo(new Point(e.X, e.Y));
if(info.InRowCell)
HotTrackRow = info.RowHandle;
else
HotTrackRow = DevExpress.XtraGrid.GridControl.InvalidRowHandle;
}
private void gridView1_RowCellStyle(object sender, DevExpress.XtraGrid.Views.Grid.RowCellStyleEventArgs e) {
if(e.RowHandle == HotTrackRow)
e.Appearance.BackColor = Color.PaleGoldenrod;
}
[VB.NET]
Imports DevExpress.XtraGrid
Imports DevExpress.XtraGrid.Views.Grid
Private HotTrackRowValue As Integer = GridControl.InvalidRowHandle
Private Property HotTrackRow() As Integer
Get
Return HotTrackRowValue
End Get
Set(ByVal Value As Integer)
If HotTrackRowValue <> Value Then
Dim PrevHotTrackRow As Integer
PrevHotTrackRow = HotTrackRowValue
HotTrackRowValue = Value
GridView1.RefreshRow(PrevHotTrackRow)
GridView1.RefreshRow(HotTrackRowValue)
If HotTrackRowValue >= 0 Then
GridControl1.Cursor = Cursors.Hand
Else
GridControl1.Cursor = Cursors.Default
End If
End If
End Set
End Property
Private Sub GridView1_MouseMove(ByVal sender As System.Object, ByVal e As MouseEventArgs) Handles GridView1.MouseMove
Dim View As GridView = CType(sender, GridView)
With View.CalcHitInfo(New Point(e.X, e.Y))
If .InRowCell Then
HotTrackRow = .RowHandle
Else
HotTrackRow = GridControl.InvalidRowHandle
End If
End With
End Sub
Private Sub GridView1_RowCellStyle(ByVal sender As Object, ByVal e As RowCellStyleEventArgs) Handles GridView1.RowCellStyle
If e.RowHandle = HotTrackRow Then
e.Appearance.BackColor = Color.PaleGoldenrod
End If
End Sub
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)