人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VB.NET 2008(WindowsXP SP3)のTreeViewにおける右クリックの制御について教えてください。

制御内容は動作しないようにするか、もしくは左クリックと同様の動作にすることです。
右クリックをすると一瞬だけ反応(選択された状態)になるものの、直ぐ直前の位置へ
選択状態が戻る反応が気になったので、なんとか修正したいのです。
よろしくお願いいたします。

●質問者: くじぇ
●カテゴリ:コンピュータ
✍キーワード:VB.NET WindowsXP クリック 右クリック
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● heke2mee
●35ポイント

これでいけと思います。

 Private Sub TreeView1_NodeMouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
 If (e.Button = MouseButtons.Right) Then
 TreeView1.SelectedNode = e.Node
 End If
 End Sub
◎質問者からの返答

heke2meeさんありがとうございます!参考にさせていただきます。


2 ● heke2mee
●35ポイント

右クリックを無効にする方法

TreeViewを継承してMyTreeViewを作成し、そのなかでマウスの右クリックを無効にします。

Public Class MyTreeView
 Inherits System.Windows.Forms.TreeView

 Const WM_RBUTTONDOWN As Integer = &H204
 Dim RES As New IntPtr(0)

 Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
 Select Case m.Msg
 Case WM_RBUTTONDOWN
 m.Result = RES
 Return

 End Select

 MyBase.WndProc(m)
 End Sub

End Class
◎質問者からの返答

heke2meeさんありがとうございます。

C++でWndProcを触った事があるのですが、VBではこのように記述するのですね。

参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ