?
Solved

Disable Enter key in Datagrid

Posted on 2004-04-28
6
Medium Priority
?
2,231 Views
Last Modified: 2007-12-19
I have a Datagrid with custom columns. These columns contain textboxes but also comboboxes and checkboxes. Now when a user presses the enter button when editing the values in a textfield column then a Datagrid event will be fired. This is something I totally not want. Is there a way to ignore the Enter key in a Datagrid? If I press enter in a textboxfield then the next row will be selected. I tried to catch the Enter key in the textboxes but it seems like they are overruled by this Datagrid event. Any idea to fix this problem?
0
Comment
Question by:paing0d
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 2

Accepted Solution

by:
Jeffr0 earned 60 total points
ID: 10941587
Maybe a custom DataGrid will solve this:

Put this code in the same namesapce as your Form:

Public Class Jeffr0sDataGrid
    Inherits DataGrid

    Protected Overrides Function ProcessKeyPreview(ByRef m As System.Windows.Forms.Message) As Boolean
        If m.Msg = 256 Then
            Return False
        End If

        Return True
    End Function
End Class



Then change the code that instantiates the Grid like this:


        Me.DataGrid1 = New Jeffr0sDataGrid()

(The code for it is in the " Windows Form Designer generated code " area.)
0
 
LVL 2

Expert Comment

by:Jeffr0
ID: 10942191
My solution has a bonus feature in that it also ignores the arrow keys except for when you're inside the datagrid cell.  You can only use the tab key and mouse to navigate.

:)
0
 

Author Comment

by:paing0d
ID: 10943510
If I press enter the first time in my self made textfield column it does jump to the next row. If I keep pressing enter it stays there but does not go further. So I think it works after a key is pressed the first time? On every row it jumps to the next row when pressed the enter key (in the custom textfield column) but goes no further.

If I press other keys then Enter it blocks them too. I can't typ in my own made textfield columns anymore.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 2

Expert Comment

by:Jeffr0
ID: 10943597
Oh well.  That's the best I can do for a 20 point question.  :)

It works pretty good when you don't have any custom columns, though, doesn't it??
0
 

Author Comment

by:paing0d
ID: 10943603
This did the trick:

    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        If (msg.WParam.ToInt32 = 13) Then
            Return True
        End If

        Return False
    End Function

Thanks for guiding me in the right direction.
0
 

Author Comment

by:paing0d
ID: 10943611
And if you want to filter out the arrow keys too just make it:

    Protected Overrides Function ProcessCmdKey(ByRef msg As System.Windows.Forms.Message, ByVal keyData As System.Windows.Forms.Keys) As Boolean
        Select Case msg.WParam.ToInt32
            Case 13, 37, 38, 39, 40
                Return True
        End Select

        Return False
    End Function
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create and use a custom WaterMark textbox class.  The custom WaterMark textbox class allows you to set the WaterMark Background Color and WaterMark text at design time.   IMAGE OF WATERMARKS STEPS Create VB …
A while ago, I was working on a Windows Forms application and I needed a special label control with reflection (glass) effect to show some titles in a stylish way. I've always enjoyed working with graphics, but it's never too clever to re-invent …
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

649 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question