salve,
Post by Christian TricaricoPost by SanderIntercetti il keypress di tutto il Datagridview e da lì vedi se sei
sulla cella in oggetto. L'inverso non so se si puo fare...
Sander
Mi dispiace ma quello che dici non si può fare...almeno con me non
va...questo perchè quando mi trovo in modalità di editing cella sono
come fuori dal controllo DataGridView e per questo non riesco ad
intercettare nulla.
C'è forse qualche proprietà da settare?
Esiste un modo per procedere?
non mi ricordo se "sta roba" l'ho trovata su CodeProject o dove..
Public Class DataGridViewEnterChangeCellAndNotRow
Inherits DataGridView
Public Sub New()
MyBase.New()
Me.EditMode = DataGridViewEditMode.EditOnEnter
End Sub
Protected Overrides Function ProcessDialogKey(ByVal keyData As
System.Windows.Forms.Keys) As Boolean
If keyData = Keys.Enter Then
MoveToNextCell()
Return True
Else
Return MyBase.ProcessDialogKey(keyData)
End If
End Function
Private Sub MoveToNextCell()
Dim CurrentColumn As Integer = MyBase.CurrentCell.ColumnIndex
Dim CurrentRow As Integer = MyBase.CurrentCell.RowIndex
If CurrentColumn = MyBase.ColumnCount - 1 AndAlso CurrentRow <>
MyBase.RowCount - 1 Then
MyBase.ProcessDataGridViewKey(New KeyEventArgs(Keys.Home))
MyBase.ProcessDataGridViewKey(New KeyEventArgs(Keys.Down))
Else
MyBase.ProcessDataGridViewKey(New KeyEventArgs(Keys.Right))
End If
End Sub
End Class
dove la pressione di enter fa cambiare di cella (cella seguente) e non di
riga..
il "brutto" e' che la cella che riceve il fuoco viene messa
"automaticamente" in editmode..
pensavo mi "piacesse" per alcune peculiarita' ma poi, nel progetto corrente,
ho preferito rimuoverla.
saluti
--
Andrea Montanari (Microsoft MVP - SQL Server)
http://www.asql.biz
DbaMgr2k ver 0.21.1 - DbaMgr ver 0.65.1 and further SQL Tools
http://www.hotelsole.com - http://www.hotelsolericcione.de
--------- remove DMO to reply