複数行のテキストボックスとこのコードがあります:
If e.KeyCode = Keys.Enter Then
TextBox1.Text = TextBox1.text + vbNewLine + mystring
End if
問題は、Enterキーを押すと、新しい行に移動してカーソルを最後の文字に置くのではなく、次の行にジャンプすることです。どういうわけか、戻るボタンを押して上の行に戻るようにすることを考えていましたが、それは可能ではありません。
これが発生したKeyDown
場合、あなたがしなければならないのは、実際のキー押下を続行しないように指示することだけです。現状では、現在新しい行を追加していますが、システムも追加しているためです(ENTERキーを押したため)。
実際のキー押下をインターセプトし、それがに渡されTextBox
ないようにするには、SuppressKeyPress
プロパティをTrue
次のように設定するだけです。
If e.KeyCode = Keys.Enter Then
TextBox1.AppendText(vbNewLine & mystring)
e.SuppressKeyPress = True
End If
コメントに記載されているように、連結はアンパサンド(&
)演算子TextBox1.AppendText(...)
を使用して行う必要があり、コードが読みやすくなるため、使用することをお勧めします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加