Invoke 會造成無限迴圈??

在 Timer 物件中加入呼叫以下函式
Public Sub SetImage(ByVal s As PictureBox, ByVal img As Image)
If s.InvokeRequired Then
s.Invoke(New Action(Of PictureBox, Image)(AddressOf SetImage), New Object() {s, img})
Else
s.Image = CType(img.Clone, Image)
End If
End Sub

間隔時間為 100 ms, 結果有時會造成軟體無回應, 應該是進入了無限迴圈, 只好改成
try
PictureBox1.Image = CType(img.clone, Image)
Catch ex as Exception
'sometime there is error "其他地方正在使用此物件"
End Try

並以 try...catch 區段偵錯, 避免其他的錯誤

留言

熱門文章