VB.NET TextBoxで改行させない

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

プロパティ

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

方法

KeyDownイベントでEnterKeyを無効にします。その際、KeyPressイベントの発生も無効にしておきます。
以下がコードです。
1
2
3
4
5
6
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の無効等の処理を行う必要があるでしょう。
コピペを防ぐ方法もまた考えたいと思います。

以上です。

コメント

人気の投稿