Does your sample project solve the OP's problem? That is, does it insert a new line in the TextBox, rather than commit the DataForm, when Return/Enter key is pressed? When I apply your sample to my project, I notice that the position of the cursor in the TextBox is simply moved to the end of the text when the Return/Enter key is pressed. Nothing else happens, i.e. no new line. That behavior seems to be what you have coded in your sample:
TB.SelectionStart = TB.Text.Length;
I expected your sample to insert a new line instead. Am I missing something? How to achieve a new line in TextBox when Return/Enter key is pressed?