停用事件似乎消耗鼠标单击

时间:2013-12-06 14:09:12

标签: c# winforms mouseevent

我有使用

显示的非模态表单
myform.Show()

每当用户点击表单外的某处时,我都会关闭表单。我通过处理表单上的Deactivate事件成功完成了这项工作。完成如下:

private void myform_Deactivate(object sender, EventArgs e) {
    this.Close();
}

我在此表单下面有自定义日历。我希望用户能够在日历中点击另一天,弹出窗口会自动消失。目前,当调用Deactivate事件时,似乎消耗了鼠标单击。也就是说,基础日历控件不会收到鼠标单击。现在,用户必须单击一次以停用(关闭)表单,然后另一个选择一天。我想一键完成这一切。

我希望能够做类似

的事情
e.handled = false

在我的Deactiavte处理程序中,但这当然不是一个选项。帮助任何人?

1 个答案:

答案 0 :(得分:0)

鼠标事件是myForm的一部分而不是你日历中的另一种形式,如果你需要在this.close()之前在另一个表单上触发此事件,你可以在日历表单上调用一个方法强制鼠标点击事件