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
Solved

hitting the enter button in datagridviewtextcell

Posted on 2010-08-30
10
482 Views
Last Modified: 2012-05-10
I want to be able to hit the enter button in a datagridviewtextcell and have it create a new line within the cell and autoformat the size of the cell. How would I do that?
0
Comment
Question by:cobolinx1
  • 4
  • 4
  • 2
10 Comments
 
LVL 17

Expert Comment

by:nepaluz
ID: 33560905
Set (or leave) the datagridview property "AllowUserToAddRows" to true for a new line.

To autoresize the cell, call an autoresize routine from the CellEndEdit.

I am not sure you can create a new line in a cell if that is what you want.
0
 

Author Comment

by:cobolinx1
ID: 33561197
Is there a way to capture the keystroke in the cell and if its the enter button make the cell values = cellvalue & vbnewline?
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33561410
yes you can ....
use Editing Control Showing event like this


Private WithEvents thiscontrol As TextBox
   
    Private Sub MyDataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing
        Try
            If MYDataGridView.CurrentCell.ColumnIndex = "YOURCOLUMNINDEX" Then
                thiscontrol = CType(e.Control, TextBox)
  Else
                thiscontrol = Nothing

            End If
Private Sub thiscontrol_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles thiscontrol.KeyDown
    If e.KeyCode = Keys.Return Then

.....WHAT YOU WANT.....
End Sub

Open in new window

0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:cobolinx1
ID: 33562300
Nope it interprets the enter key as moving to the next row before it can fire off the keydowncode
0
 
LVL 17

Expert Comment

by:nepaluz
ID: 33562305
think...... then how do you move FROM the cell if the enter key is "escaped" to a vbnewline?

(Actually, I am surprised that you can do a vbnewline in a datagridviewcell, but then again, something new a day, not bad.)
0
 

Author Comment

by:cobolinx1
ID: 33562416
...I would actually be mouse clicking off it and when it lost focus Id create a new line in the datagridview.. I guess I could have the user type in a textbox and when they click a button they could add it to the datagridview...no other way though??
0
 
LVL 18

Expert Comment

by:John (Yiannis) Toutountzoglou
ID: 33562956
mmm...so you need a multiline textbox????
0
 
LVL 18

Accepted Solution

by:
John (Yiannis) Toutountzoglou earned 500 total points
ID: 33563051
so in my previous code set  thiscontrol.Multiline = True
Private WithEvents thiscontrol As TextBox
   
    Private Sub MyDataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles MyDataGridView.EditingControlShowing
        Try
            If MYDataGridView.CurrentCell.ColumnIndex = "YOURCOLUMNINDEX" Then
                thiscontrol = CType(e.Control, TextBox)
                thiscontrol.Multiline = True
  Else
                thiscontrol = Nothing

            End If
Private Sub thiscontrol_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles thiscontrol.KeyDown
    If e.KeyCode = Keys.Return Then
     thiscontrol.text=thiscontrol.text & VbNewLine
.....WHAT YOU WANT.....
End Sub

Open in new window

0
 
LVL 18

Assisted Solution

by:John (Yiannis) Toutountzoglou
John (Yiannis) Toutountzoglou earned 500 total points
ID: 33563126
this is one option ...
the other way is to set Default Cell style Wrap mode to true ...and to add a new line while editing press Shift_Enter (that is by deafault)..
0
 

Author Closing Comment

by:cobolinx1
ID: 33568054
I would have to capture the keydown before the cellendedit and then then try to set the cursor back. I think I'll just have them hit shift and enter. Thanks.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Well, all of us have seen the multiple EXCEL.EXE's in task manager that won't die even if you call the .close, .dispose methods. Try this method to kill any excels in memory. You can copy the kill function to create a check function and replace the …
The ECB site provides FX rates for major currencies since its inception in 1999 in the form of an XML feed. The files have the following format (reducted for brevity) (CODE) There are three files available HERE (http://www.ecb.europa.eu/stats/exch…
Email security requires an ever evolving service that stays up to date with counter-evolving threats. The Email Laundry perform Research and Development to ensure their email security service evolves faster than cyber criminals. We apply our Threat…

856 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