代碼為:
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 3 Then PopupMenu FileMenu
End Sub
彈出的怪怪的選單為:

程式界面為:

選單編輯器為:

哪位牛人知道那個右鍵彈出的是什么選單嗎????
我右鍵彈不出想要的選單,但是修改程式后左鍵 If Button =1 Then PopupMenu FileMenu能彈出想要的選單:

重要的事情要說三遍:為什么設定成右鍵就彈出奇怪的選單?彈出奇怪的選單?彈出奇怪的選單?!!!
uj5u.com熱心網友回復:
1、你那個彈出的是默認的選單;2、If Button = 3 Then PopupMenu FileMenu
這里button應該只有1,2,4,哪里來的3?
uj5u.com熱心網友回復:
謝謝你的回答,那個應該是2。那怎么不顯示默認的選單呢?我想顯示自己的右鍵選單
uj5u.com熱心網友回復:
屏蔽textbox的右鍵選單,如果用API的話,你搜索一下,需要一大堆的。下面提供一個不專業但很有效的代碼:
Option Explicit
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Text1.Enabled = False
Timer1.Interval = 300 ''用定時器來恢復
''PopupMenu FileMenu ''這里彈出你自己的選單
''Text1.Enabled = True ''放在這里恢復無效!
End If
End Sub
Private Sub Timer1_Timer()
Text1.Enabled = True
Timer1.Interval = 0
End Sub
...
uj5u.com熱心網友回復:
不知道是不是還有更簡單有效的方法......uj5u.com熱心網友回復:
不需要使用定時器吧。
If (Button = 2) Then
Text1.Enabled = False
DoEvents
Text1.Enabled = True
.PopupMenu FileMenu
End If
uj5u.com熱心網友回復:
樓上說的對。測驗的時候沒有使用選單,所以沒成功。現在測驗了一下,完全可行:Option Explicit
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Text1.Enabled = False
PopupMenu wer ''這里彈出你自己的選單
Text1.Enabled = True
End If
End Sub
...
uj5u.com熱心網友回復:
文本框有自己默認的右鍵選單。你想替換掉,當然得想點辦法了。
uj5u.com熱心網友回復:
測驗了一下,這個應該是對的,但是 wer 應該修改為你自己的選單名稱,后面可以有選單顯示位置等資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/78316.html
標籤:VB基礎類
