การทำให้ datagridview สามารถกด key Enter แล้วเลื่อนไปที่ cell ขวามือ เวลาบันทึกข้อมูล
หาได้แล้ว สดๆร้อน ไม่รู้เอามะพร้าวฮ้าวมาขายสวนหรือปล่าว ดูตาม code เลยนะครับ อธิบายไม่ได้
ผมเป็นมือใหม่ เขียนแต่ VB6 พึ่งเริ่ม .Net กำลังจะเขียนusercontrol grid เอาไว้ใช้งาน เลยเอามาฝากมือใหม่ด้วยกัน
c#:
using Microsoft.VisualBasic; using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.Diagnostics; public class MyDataGridView : DataGridView { protected override bool ProcessDialogKey(Keys keydata) { Keys key = keydata & Keys.KeyCode; if (key == Keys.Enter) { return this.ProcessTabKey(keydata); } return base.ProcessDialogKey(keydata); } protected override bool ProcessDataGridViewKey(System.Windows.Forms.KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { return this.ProcessTabKey(e.KeyData); } return base.ProcessDataGridViewKey(e); } }
VB.NET:
Public Class MyDataGridView
Inherits DataGridView
Protected Overrides Function ProcessDialogKey(ByVal keydata As Keys) As Boolean
Dim key As Keys = keydata And Keys.KeyCode
If key = Keys.Enter Then
Return Me.ProcessTabKey(keydata)
End If
Return MyBase.ProcessDialogKey(keydata)
End Function
Protected Overrides Function ProcessDataGridViewKey( _
ByVal e As System.Windows.Forms.KeyEventArgs) As Boolean
If e.KeyCode = Keys.Enter Then
Return Me.ProcessTabKey(e.KeyData)
End If
Return MyBase.ProcessDataGridViewKey(e)
End Function
end class
No comments:
Post a Comment