C#:如何防止文本框';内容是否在输入时向上滚动?

C#:如何防止文本框';内容是否在输入时向上滚动?,c#,textbox,scroll,hide,enter,C#,Textbox,Scroll,Hide,Enter,当用户按下“回车”键时,我试图在运行时调整文本框的高度 调整大小效果很好,但问题是按“Enter”键会将文本“向上”一行 换句话说,如果我的文本框包含两行,则按“回车”键后,只有第二行可见 文本框的大小将正确调整,并且carret将定位在新行,但是文本框的全部内容将在文本框失去焦点之前不可见 有人知道为什么会这样吗?有没有办法防止文本框在我按Enter键时自动向上滚动文本?(在隐藏第一行并在文本框中创建无法访问的行的过程中) 谢谢我假设您正在处理文本框的按键事件以更改大小。确保取消处理程序中的事

当用户按下“回车”键时,我试图在运行时调整文本框的高度

调整大小效果很好,但问题是按“Enter”键会将文本“向上”一行

换句话说,如果我的文本框包含两行,则按“回车”键后,只有第二行可见

文本框的大小将正确调整,并且carret将定位在新行,但是文本框的全部内容将在文本框失去焦点之前不可见

有人知道为什么会这样吗?有没有办法防止文本框在我按Enter键时自动向上滚动文本?(在隐藏第一行并在文本框中创建无法访问的行的过程中)


谢谢

我假设您正在处理文本框的按键事件以更改大小。确保取消处理程序中的事件(
e.Handled=true
)-这将防止
Enter
击键也应用于文本框内的文本(Enter键在文本框的text属性末尾添加CRLF,这是导致向上滚动的原因).

我目前正在处理TextChanged事件。但是,我不想保留CRLF,因为我实际上希望文本中有一个新行吗?您可能希望处理Enter键,然后通过代码将CRLF附加到文本属性。除了在处理窗口消息时弄脏外,我认为您没有任何其他选择。您还应该处理按键事件,并处理用户按下那里的
Enter
键。谢谢大家,我将尝试并发布我的结果。