Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 该活动是否“有效?”;“关闭儿童窗口”;存在?_C#_Xaml_Silverlight 4.0_Childwindow - Fatal编程技术网

C# 该活动是否“有效?”;“关闭儿童窗口”;存在?

C# 该活动是否“有效?”;“关闭儿童窗口”;存在?,c#,xaml,silverlight-4.0,childwindow,C#,Xaml,Silverlight 4.0,Childwindow,我有一个问题: 当我们单击childWindow右上角的标记时,“close childWindow”事件是否存在 因为我想取消以这种方式关闭ChildWindow时可以完成的所有更改 我可以用我创建的按钮关闭窗口,但是用户仍然可以用另一种方式关闭ChildWindow,因此,所有更改的数据都不会被取消 谢谢。不抱歉,windows标准窗体上没有“关闭儿童窗口”这样的事件。您可以自己创建,每次打开新窗口时,您都可以从新的windows FormClosed事件中抛出此事件 public even

我有一个问题:

当我们单击childWindow右上角的标记时,“close childWindow”事件是否存在

因为我想取消以这种方式关闭ChildWindow时可以完成的所有更改

我可以用我创建的按钮关闭窗口,但是用户仍然可以用另一种方式关闭ChildWindow,因此,所有更改的数据都不会被取消


谢谢。

不抱歉,windows标准窗体上没有“关闭儿童窗口”这样的事件。您可以自己创建,每次打开新窗口时,您都可以从新的windows FormClosed事件中抛出此事件

public event EventHandler CloseChildWindow;
然后当你打开新窗口时

Form1 frm = new Form1();
frm.FormClosed += (o, e) =>
     {
         if(CloseChildWindow!= null)
              CloseChildWindow(o, e);
     };

你能处理结案事件吗?请参阅-您应该能够有条件地将参数CancelEventArgs的Cancel属性设置为true,以防止在自定义事件处理程序中关闭子窗口。谢谢,这正是我搜索的内容。ChildWindow是silverlight类()-不是标准winforms。哦。。。不幸的是,我对Silverlight不是很熟悉,但是“关闭”活动不是你想要的吗?不完全是。。。在这两种情况下(标准winforms表单和前面提到的silverlight类),我认为您希望“关闭”而不是“关闭”在“Closed”之前引发“Closed”,并允许您在窗口关闭之前取消(使用eventhandler参数)。这就是OP想要做的。Closed只是通知您窗口已关闭,此时您无法对其执行任何操作。我认为他希望在关闭childwindow时取消editform中当前所做的更改。不取消关闭本身?伊芙莉:投票给你是因为你很了不起。@Evelie-根据对原帖子的回复,OP说这正是他想要的。