2011-03-15 4 views
2

사용자가 "Enter"키를 누르면 런타임에 텍스트 상자의 높이를 조절하려고합니다.C# : Enter를 할 때 텍스트 상자의 내용이 위로 스크롤되지 않도록하려면 어떻게해야합니까?

크기 조정은 잘 작동하지만 "Enter"키를 누르면 텍스트가 "한 줄"위로 이동한다는 사실 때문에 문제가 발생합니다.

즉, 내 텍스트 상자에 두 줄이 포함되어 있으면 "Enter"키를 누른 후 두 번째 줄만 볼 수 있습니다.

텍스트 상자의 크기가 올바르게 조정되고 새 줄에 배치되지만 텍스트 상자의 전체 내용은 텍스트 상자에 포커스가 없어 질 때까지 표시되지 않습니다.

왜 이런 일이 발생하는지 알고 계십니까? Enter 키를 누르면 텍스트 상자가 자동으로 텍스트 위로 스크롤되지 않도록 할 수있는 방법이 있습니까? (첫 번째 줄을 숨기고 텍스트 상자에 도달 할 수없는 줄을 만드는 과정에서).

감사

답변

1

난 당신이 크기를 변경하기 위해 텍스트 상자의 KeyPress 이벤트를 처리한다고 가정. 처리기에서 이벤트 (e.Handled = true)를 취소하십시오. 이렇게하면 Enter 키 입력이 텍스트 상자 내부의 텍스트에도 적용되지 않습니다. Enter 키는 텍스트 상자의 Text 속성 끝에 CRLF를 추가하는 것입니다. 스크롤 업).

+0

현재 TextChanged 이벤트를 처리 중입니다. CRLF를 유지하고 싶지는 않겠지 만 실제로 텍스트에 새 행이 필요하기 때문에? –

+1

Enter 키를 누른 다음 코드를 통해 CRLF를 Text 속성에 추가 할 수 있습니다. 창 메시지를 다루는 데 더러워지는 것 이외에 다른 옵션이 없다고 생각합니다. – CodingGorilla

+1

또한 KeyPress 이벤트를 처리하고 사용자가 'Enter'키를 눌러서 처리해야합니다. – MusiGenesis