Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/11/2008, 01:42
kyha
 
Fecha de Ingreso: junio-2008
Ubicación: Valencia
Mensajes: 152
Antigüedad: 16 años, 7 meses
Puntos: 3
Respuesta: vb2005 datagridview

Hola Ausberto:

A mi se me planteo el mismo problema, pero al final lo solucione creandome un datagridview propio.Al tiempo lei que se podria hacer de otra forma pero como no tenia tiempo no lo probe.Te pongo el codigo, por si te sirve:


Public
Class MiDatagridView

Inherits DataGridView
'
'en el 'processDialogKey'... cuando estamos en edicion
ProtectedOverridesFunction ProcessDialogKey(ByVal keyData As System.Windows.Forms.Keys) AsBoolean
If keyData = Keys.Enter Then'Si es 'enter'
SendKeys.Send(Chr(Keys.Tab)) 'Enviar un 'Tab'
ReturnTrue'Marcar como procesado
Else'en caso contrario
ReturnMyBase.ProcessDialogKey(keyData) 'devolver KeyData
EndIf
EndFunction
'
' en 'OnKeyDown'... cuando no estamos en edicion
ProtectedOverridesSub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyData = Keys.Enter Then'Si es 'enter'
SendKeys.Send(Chr(Keys.Tab)) 'Enviar un 'Tab'
Else
MyBase.OnKeyDown(e) 'Devolver el KeyEventArgs
EndIf
EndSub

PublicSub InitializeComponent() 'Propiedades de datagridview
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle
CType(Me, System.ComponentModel.ISupportInitialize).BeginIni t()
Me.SuspendLayout()
'
'MiDatagridView
'
Me.AllowDrop = True
Me.AllowUserToDeleteRows = False
Me.AllowUserToResizeColumns = False
Me.AllowUserToResizeRows = False
Me.BackgroundColor = System.Drawing.Color.LightBlue
Me.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D
Me.ClipboardCopyMode = System.Windows.Forms.DataGridViewClipboardCopyMode .Disable
Me.ColumnHeadersHeightSizeMode = CType(Me, System.ComponentModel.ISupportInitialize).EndInit( )
Me.ResumeLayout(False)
EndSub
EndClass