PDA

View Full Version : سوال: حرکت در سلولهای دیتاگرید با کلید اینتر



domidimod
جمعه 15 شهریور 1387, 00:48 صبح
Public Class Form1
Private Sub MyControl_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyCode = Keys.Enter Then

SendKeys.Send("{tab}")
End If

End Sub
End Class




سلام دوستان
مشکل این کد ها چیه؟
می خوام با کلید اینتر بین سلولهای دیتاگریدم حرکت کنم ولی کاری که این کدها می کنن اینه که : از سلولی که خالیه به سمت سلول بغلی و از سلولی که مقدار داره به سمت پایین حرکت می کند!
باید چیکار کنم که در هرصورت بعد از زدن اینتر سلول بغلی انتخاب شود؟
با تشکر

parsavb
جمعه 15 شهریور 1387, 08:25 صبح
این کلاس رو تو پروژه خودت ایجاد کن و بعد از کامپایل توابزارهات ازش استفاده کن





Public Class MyDataGridView
Inherits DataGridView


Protected Overrides Function ProcessCmdKey (ByRef msg As System.Windows.Forms.Message, _
ByVal keyData As System.Windows.Forms.Keys) As Boolean


.......Select Case keyData
..............Case Keys.Enter
.....................Return MyBase.ProcessTabKey(Keys.Tab)
..............Case Else
.....................Return MyBase.ProcessCmdKey(msg,KeysData)
.......End Select


End Function
End Class

نوشته
bita_naz (http://barnamenevis.org/forum/member.php?u=36205)

domidimod
جمعه 15 شهریور 1387, 13:06 عصر
سلام جناب parsavb
ممنونم از جوابتون .
اما متوجه نشدم کجا ازش استفاده کنم
کامپایک چیه؟!

msh_gold
شنبه 16 شهریور 1387, 05:03 صبح
سلام آقاي parsavb من هم به اين كد نياز دارم ميشه واضح تر تو ضيح بديد

mostafaaa
شنبه 16 شهریور 1387, 10:45 صبح
از این کد به راحتی میتونید استفاده کنید . فقط کافیه توی فرمتون اونو Past کنید.

Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
Dim booHandled As Boolean = False
Select Case keyData
Case Keys.Return, Keys.Enter
booHandled = True
SendKeys.Send("{Tab}")
End Select
Return booHandled
End Function

saman_itc
شنبه 16 شهریور 1387, 11:37 صبح
سرچ قبل از شروع تاپیک از واجباته