tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルリッチテキストボックスの改行について
記事No5107
投稿日: 2007/03/13(Tue) 17:46
投稿者Jack
VB2005初心者です。
現在コントロールのフォーカス移動をTabキーでは無く
Enterキーによって行おうと思っているのですが

Keyプレスイベントをリッチテキストに対応させると
改行処理で思ったような操作ができず悩んでおります
改行する際にはCtrl+Enterで改行できましたが
Enterキーのみの入力だと「改行+フォーカス移動」という動作となり
不満です。
そこで、改行されないように、KeyDownイベントで処理してみたところ
改行無しでフォーカスは移動しますが、肝心の
「リッチテキスト内での改行処理」がCtrl+Enterで巧くいきません。
-------------------------------------------------------------
Private Sub KeyDownA(ByVal sender As Object _
, ByVal e As System.Windows.Forms.KeyEventArgs) Handles _
DateTimePicker1.KeyDown, DateTimePicker2.KeyDown _
, ComboBox2.KeyDown, ComboBox2.KeyDown,RadioButton4.KeyDown
        
        If e.KeyValue = Keys.Enter Then
            Me.SelectNextControl(sender, True, True, True, True)
            e.Handled = True
        End If
-------------------------------------------------------------
とりあえず、リッチテキストのみTabによるフォーカス移動で
処理しておりますが、なんか気持ち悪いので宜しくお願いいたします。

[ツリー表示へ]
タイトルRe: リッチテキストボックスの改行について
記事No5108
投稿日: 2007/03/13(Tue) 19:04
投稿者花ちゃん
>         If e.KeyValue = Keys.Enter Then
>             Me.SelectNextControl(sender, True, True, True, True)
>             e.Handled = True
>         End If

Ctr キーが押されているかどうかのチェックを付け加えればいいのでは。

Private Sub RichTextBox1_KeyDown(ByVal sender As Object, ByVal e As _
                     System.Windows.Forms.KeyEventArgs) Handles RichTextBox1.KeyDown
   If e.KeyCode = Keys.Enter And e.Control = False Then
      Me.SelectNextControl(sender, True, True, True, True)
      e.Handled = True
   End If
End Sub

[ツリー表示へ]
タイトルRe^2: リッチテキストボックスの改行について
記事No5154
投稿日: 2007/03/19(Mon) 16:31
投稿者Jack
花ちゃんさん、こんにちは。
折角御回答いただいたのに、返信が遅れてしまい申し訳ありませんでした。
花ちゃんさんのアドバイスのおかげで、無事に理想のフォームが完成いたしました。
ありがとうございます。

[ツリー表示へ]