Friday, May 18, 2012

การทำให้ datagridview สามารถกด key Enter แล้วเลื่อนไปที่ cell ขวามือ

การทำให้ 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