PDA

View Full Version : رفتن به ستون بعد با انتر در ديتاگريد



swallow.pa
پنج شنبه 07 آبان 1394, 13:52 عصر
دوستان سلام
يك ديتاگريد دارم مي خوام وقتي در حال ويرايش يك سلولش هستم با زدن كليد انتر از حالت ويرايش در بيايد و با فشرن كليد انتر بجاي رفتن به سطر بعدي به ستون بعدي برود
چطوري انجام بدم

ممنونم

MortezaZandi
شنبه 16 آبان 1394, 03:23 صبح
سلام
بدون حاشیه ، بهترین روش که با مطالعه و سپس ترکیب ایده های چند سایت به ذهنم رسید که عالی هم کار می کنه:
در این روش شما باید کنترل دیتاگرید رو مجددا به و به سلیقه خود بسازید به اینروش:

1. کلاس جدیدی می سازیم

2. کنترل دیتاگرید را به ارث می بریم

3. متد پردازش کننده کلیدهای کنترل را آورراید یا مجدد نویسی می کنیم.

4. پروژه رو کامپایل می کنیم و از این به بعد از این کنترل جدید بجای دیتاگرید سابق استفاده میکنیم.








Partial Public Class MyDataGrideView
Inherits DataGridView
Public Enum OnEnterBehaviorType
DoNothing = 0
GotoNextCell = 1
GotoNextLine = 2
End Enum

Public Property OnEnterBehavior As OnEnterBehaviorType

Public Event OnPressEnter(ByVal sender As Object)

Protected Overrides Function ProcessDialogKey(ByVal e As Keys) As Boolean
If e = Keys.Enter Then
RaiseEvent OnPressEnter(Me)
If OnEnterBehavior = OnEnterBehaviorType.DoNothing Then
Return True
ElseIf OnEnterBehavior = OnEnterBehaviorType.GotoNextCell Then
SendKeys.Send("{TAB}")
Return True
ElseIf OnEnterBehavior = OnEnterBehaviorType.GotoNextLine Then
Return False
End If
End If
Return False
End Function
End Class



رفتار دیتاگرید هنگام فشرده شدن کلید اینتر را در پنجره مشخصات و با تغییر مشخصه(جدید) OnEnterBehavior تعیین کنید.
در صورتی کهبخواهید هنگام فشرده شدن کلید اینتر عمل خاصی را انجام دهید میتوانید از رویداد(جدید) OnPressEnter
استفاده نمایید.




mzstd990@gmail.com


منبع:


http://stackoverflow.com/questions/1887299/disable-the-default-enter-return-key-behavior-in-a-datagridview