2013-07-29 30 views
0

我有一個用戶控制其樣式屬性被設置爲一個組合框(cboURL)「0 - 下拉組合」。當組合框具有焦點和F1被按下時,顯示一個對話框窗口包含錯誤文本「此程序不能顯示該網頁」。錯誤對話框顯示當F1按壓組合框

所要求的行爲是F1按鍵被髮送到UserControl_KeyDown讓F1可以抑制(因爲它是在用戶控件的所有其他控件):

Private Sub UserControl_KeyDown(KeyCode As Integer, Shift As Integer) 
    If KeyCode = vbKeyF1 Then KeyCode = 0 
End Sub 

的用戶控件的KeyPreview屬性設置爲True 。當在cboURL按下F1的事件處理程序cboURL_KeyDown(),cboURL_KeyUp(),cboURL_KeyPress(),UserControl_KeyDown(),UserControl_KeyUp()或UserControl_KeyPress()

無被調用。也不是Form_KeyDown(),Form_KeyPress()或Form_KeyUp()的事件處理程序調用在其中用戶控制被嵌入的形式。

如果cboURL的Style屬性設置爲'2 - Dropdown List',那麼當按F1時UserControl_KeyDown 被調用。但是,我無法使用該設置,因爲我需要能夠輸入不在下拉選項列表中的文本。

這個應用確實存在(由hhc.exe產生的)一個的.chm幫助文件,但它不是一個獨立的幫助文件。例如,從Windows Exporer中雙擊它可以得到與上述相同的錯誤對話框。幫助文件包含使用控件的WhatsThisHelpID屬性訪問的彈出幫助文本。

任何人都可以提出修復或針對此問題,請解決方法?

+0

這聽起來像它試圖加載的幫助文件程序,這顯然不存在。 F1是加載幫助文件的默認鍵。您是否嘗試過檢查你的窗體的'的KeyDown/KeyPress'事件,看看是否是被解僱? – Alfie

+1

嘗試設置'的KeyPreview = TRUE;含形式,'KeyDown'事件處理程序去那裏。在這裏工作。 – wqw

+0

阿爾菲,感謝您的回覆。爲了回答您的問題,我添加了更多信息。 – solenopsis

回答

0

參考。從wqw評論: 「嘗試設置的KeyPreview =包含窗體上的真,KeyDown事件處理程序去那裏在這裏工作。」

這工作得很好。