2

ユーザーが「Enter」キーを押したときに、実行時にテキストボックスの高さのサイズを変更しようとしています。

サイズ変更はうまくいきますが、「Enter」を押すとテキストが 1 行「上」に表示されるという事実から問題が発生します。

つまり、テキスト ボックスに 2 行が含まれている場合、"Enter" キーを押した後、2 行目のみが表示されます。

テキストボックスは正しくサイズ変更され、キャレットは新しい行に配置されますが、テキストボックスがフォーカスを失うまで、テキストボックスの内容全体は表示されません。

なぜこれが起こっているのか誰にも分かりますか?Enter を押したときにテキストボックスがテキストを自動的に上にスクロールしないようにする方法はありますか? (最初の行を隠し、テキストボックスに到達できない行を作成するプロセスで)。

ありがとう

4

1 に答える 1

1

サイズを変更するために Textbox の KeyPress イベントを処理していると思います。e.Handled = trueハンドラーでイベント ( ) を必ずキャンセルしてください。これにより、Enterキーストロークが Textbox 内のテキストにも適用されなくなります (Enter キーは、Textbox の Text プロパティの末尾に CRLF を追加します。これがスクロールの原因です)。 -上)。

于 2011-03-15T16:52:42.627 に答える