我用c#編寫了一個窗體,並帶有一些控件。當我們離開的時候,有一個事件被調用。在某些情況下,當框中的值無效時,它會拋出異常(如果bool變量爲true)。現在的問題是,當重點放在這個控件上,我想關閉表單時,將會調用離開該控件的事件並拋出一個異常,這是catch語句中的catch,並且不會拋出異常,但在此之後onclose事件是不會打電話的,我不能關閉表格。我該怎麼辦?在c中連續執行兩個事件#
private void SetSelectedDateTime(CancelEventArgs e, bool raiseException)
{
try
{
var newval = UpdateDateTime();
var rawText = Text.Replace("/", "").Replace(":", "").Replace("_", "").Replace(" ", "");
if ((Text.Contains(PromptChar) && rawText != string.Empty) || (!Text.Contains(PromptChar) && newval == null))
{
throw new SgException(ControlMessages.InvalidDate);
}
else
{
selectedDateTime = AdjustDateTime(selectedDateTime);
if (newval != selectedDateTime)
{
selectedDateTime = newval;
UpdateText(newval);
OnSelectedDateTimeChanged();
EndEditBindings();
}
}
}
catch (Exception)
{
e.Cancel = true;
if (raiseException)
{
this.Focus();
throw;
}
}
}
請提供你必須作出明確問題的 –
代碼是如此巨大的代碼! – fasadat
只提供與此問題相關的代碼 –