2011-03-15 86 views
2

我想在運行時調整文本框的高度,當用戶按下「Enter」鍵時。C#:如何防止在Enter上滾動文本框的內容?

調整大小的效果很好,但問題在於按下「Enter」使文本「向上」一行。

換句話說,如果我的文本框包含兩行,只有第二個按下「Enter」鍵後纔可見。

該文本框將被正確調整大小,並且該卡position位於新行,但是文本框的整個內容在文本框失去焦點之前將不可見。

任何人都知道爲什麼會發生這種情況?當我按Enter鍵時,有什麼辦法可以防止文本框自動滾動文本? (在隱藏第一行並在文本框中創建無法訪問的行的過程中)。

感謝

回答

1

我假設你正在處理的文本框的KeyPress事件,以改變大小。確保您取消處理程序中的事件(e.Handled = true) - 這將防止Enter擊鍵也被應用於文本框內的文本(Enter鍵將CRLF添加到文本框的Text屬性的末尾,這是導致向上滾動)。

+0

我目前正在處理TextChanged事件。雖然我不想保留CRLF,因爲我實際上想在文本中添加新行嗎? – 2011-03-15 16:53:38

+1

您可能想要處理Enter鍵,然後通過代碼將CRLF附加到Text屬性。除了在處理窗口消息時弄髒外,我認爲你沒有其他選擇。 – CodingGorilla 2011-03-15 16:56:17

+1

您還應該處理KeyPress事件,並在那裏處理用戶按下「Enter」鍵。 – MusiGenesis 2011-03-15 16:57:04

相關問題