我在窗體上運行一個攝像頭。爲了整潔,我想在退出我的應用程序時終止流。所以我將這添加到我的FormClosed事件中:c#FormClosed事件的問題
private void Mainform_FormClosed(object sender, FormClosedEventArgs e)
{
// When the window is closed then shut down the webcam
if (FinalVideoSource.IsRunning)
{
FinalVideoSource.Stop();
}
MessageBox.Show("Closing", "Closing", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
一切都很好如果我的攝像頭正在運行。但是,如果攝像頭經過測試,發現不在運行。然後,我的表單不會關閉(我已經將消息框放在那裏以測試事件是否被調用,並且除非網絡攝像頭正在運行,否則不顯示消息)。
我猜的東西與具有if語句我的表單中造成問題做。
任何人都可以幫忙嗎?
非常感謝, 本
您是否嘗試過「FormClosing」事件而不是「FormClosed」? – acron 2011-05-10 10:17:11
不,在FormClosed事件中的'if'語句不會導致這個問題。然而,這個事件在表格已經關閉之後被提出。相反,您可能想要在「FormClosing」事件內部進行清理。 – 2011-05-10 10:17:34
您是否檢查'FinalVideoSource.IsRunning'的值?它可以爲空嗎? – RaM 2011-05-10 10:18:04