none
如何判断子窗体是自身关闭,还是因父窗体的关闭而关闭 RRS feed

  • 问题

  • Hi:

    最近我遇到了如题问题。假设有两个Window,分别为A, B。

            B.Owner = A。

            当我点击A窗体右上角的关闭按钮时,会先关闭B窗体。

            请问,如果判断B的关闭是因为点击自身右上角的关闭按钮,还是因为A的关闭而引起的呢?

    2015年5月6日 9:39

答案

全部回复

  • 你好 wtw_Kevin,

    窗体关闭都有事件的,比如说这里:

    https://msdn.microsoft.com/en-us/library/system.windows.window.closed%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

    所以你可以在两个窗体事件里面都写上debug代码,例如trace.writeline

    然后你就可以在关闭的时候在日志里查看是哪个事件被触发成功然后造成的关闭



    Barry
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2015年5月8日 7:20
    版主
  • 如果是关闭A,会先触发B的Closed事件,再触发A的Closed事件,在事件里写DeBug代码并不能解决问题。

    可以通过窗体的OnClosing方法解决问题。

    若是关闭A,B的OnClosing方法不会触发,如此即可知道B的关闭,不是由自身造成的。。。

    2015年6月11日 2:52