發現說移動的時候,下方的時間會停頓
再看看
========================================
dataGridView 闪烁 和 listview 闪烁 的解决办法。
可以透過建構子寫入 setstyle
但這個要自訂gridview 才可以做到
看有沒有辦法直接將預設gridview寫入 setstyle
沒辦法,他是 protected
一定要透過繼承去 override
大翻修...
可能會需要多寫幾個不一樣的gridview class
來繼承
大致上應該把外面的gridview事件拉進去改成 自訂就好
因為有分頁
當跳下一頁
如果該分頁資料筆數 比 前分頁所記錄的 RowindexSave 還要小
在判斷部分將會出錯
目前作法是在每次換分頁,將該變數初始化,不過也就要宣告成 public
在大致上注意遺下右鍵選單的東西
'constructor
Public Sub New()
SetStyle(ControlStyles.DoubleBuffer Or ControlStyles.OptimizedDoubleBuffer Or ControlStyles.AllPaintingInWmPaint, True)
UpdateStyles()
End Sub
==========================================================
'希望透過重繪
做到 row 換色,不造成grid閃爍
將變色改寫入到 mouseMove
去偵測滑鼠位置
只改變當下 row 的顏色
http://topic.csdn.net/u/20070319/14/59dde966-1b66-4b26-8479-def76481c872.html
Private RowindexSave As Integer
Private ColorSave As Color
Private Sub dataGridView1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dataGridView1.MouseMove
ht = dataGridView1.HitTest(e.X, e.Y)
If (ht.Type = DataGridViewHitTestType.Cell) Then
If (ht.RowIndex <> RowindexSave) Then
dataGridView1.Rows(RowindexSave).DefaultCellStyle.BackColor = ColorSave
ColorSave = dataGridView1.Rows(ht.RowIndex).DefaultCellStyle.BackColor
dataGridView1.Rows(ht.RowIndex).DefaultCellStyle.BackColor = Color.FromArgb(255, 100, 192)
RowindexSave = ht.RowIndex
End If
End If
End Sub
=======================================================
DataGridView重绘行头(RowHeader)
http://social.msdn.microsoft.com/Forums/zh-CN/2212/thread/255b553d-01a3-4082-a3df-ae000ea1104e/
'做到每個 row 行頭 加上 行號 (第幾筆) 的功能
發現只會作用在畫面上的GridView
因為有分頁的關係
每次換頁面,就會重新計算行號
目前帶入分頁樹下去計算
沒有留言:
張貼留言