2022年5月11日

TextBoxコントロールで改行させない VB.NET

複数行入力可能なTextBox内で、改行はさせたくないという場合、以下のようにできます。

プロパティ

最初にTextBoxのMultilineプロパティーをTrueに設定します。

方法

KeyDownイベントでEnterKeyを無効にします。その際、KeyPressイベントの発生も無効にしておきます。以下がコードです。

Private Sub txtExp_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles txtExp.KeyDown
  If e.KeyCode = Keys.Enter Then
    e.SuppressKeyPress = True 'KeyPressイベントを発生させない'
    e.Handled = True
  End If
End Sub

課題

但しこの例ではコピペされたらOUTです。右クリック、Ctrl + Vの無効等の処理を行う必要があるでしょう。コピペを防ぐ方法もまた考えたいと思います。

Share this content: