2017-06-08 64 views
1

抓到我想清除剪貼板,但有時這是一個循環過程和文件可能仍然在複製的過程中因此調用Clipboard.Clear()引發異常剪貼板。Clipboard.Clear - 異常不是由try/catch語句

我做了下面的函數來處理這個問題:

Private Shared Sub ClearClipboard() 
    Dim b As Boolean = False 
    While b = False 
     Try 
      Clipboard.Clear() 
      b = True 
     Catch ex As Exception 
     End Try 
    End While 
End Sub 

這個工作從Visual Studio中運行我的機器上正常,但是在客戶端機器上的未處理的異常信息彈出。 爲什麼不被抓默默地在那裏?

或者,如果這是不是要去了解它的最佳方式,我怎麼能檢查如果事情正在複製到剪貼板,然後等待,直到它完成? 換句話說就是它可以檢查如果剪貼板「忙」?

+1

您是否嘗試過這個解決方案罰款? https://stackoverflow.com/questions/930219/how-to-handle-blocked-clipboard-and-other-oddities – Neal

回答

1

謝謝尼爾!

看着通過,並在結束時,我可以刪除整個循環和Clipboard.SetDataObject("", False, 20, 300)的作品,而不是Clipboard.Clear()