2010-11-05 27 views
1

我有以下代碼發起的父窗體上註冊的第一個點擊鼠標。在Form2上的第一個鼠標點擊沒有可見的效果,除非form2位於調用窗體上,那麼會出現錯誤,表明模式窗體不能顯示兩次!所以會發生什麼是第一個鼠標點擊在父窗體上註冊。我嘗試了各種解決方法(主要是通過Tabstrip1_GotFocus),但是如果不做一些非常複雜的事情,我就無法實現它。當新的形式通過Tabstrip_Click事件

有沒有簡單的解決方案?

回答

4

使用此代碼來解決鼠標捕獲問題TabStrip控件展示你的具體情況

Private Declare Function ReleaseCapture Lib "user32"() As Long 

Private Sub TabStrip1_Click() 
    Call ReleaseCapture 
    Form2.Show vbModal, Me 
End Sub 
+0

請大家,Upvote這一個! – Dabblernl 2010-11-05 22:57:05

0

的問題說明如下: https://support.microsoft.com/en-us/kb/262441

如前所述,TabStrip(據說只包含在Mscomctl.ocx SP3中的版本)不會釋放鼠標捕獲,因此您必須在顯示模式表單之前調用ReleaseCapture




旁白:

我剛纔編輯的前一個正確的答案,但編輯被拒絕。
「引入外部依賴性」 ???根據我的經驗,權威性的參考資料並不是一件壞事,我認爲這個鏈接對某個人來說是有用的。