C# WPF.MDI,点击关闭按键后,如何在Closing中取消该关闭操作? 5

///<summary>///子窗体加载///</summary>///<paramname="sender"></param>///<paramname="e"></p... /// <summary>
/// 子窗体加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public void AddMidChild(object sender, RoutedEventArgs e)
{
try
{
WPF.MDI.MdiChild mdichild = new WPF.MDI.MdiChild();
mdichild.Content = e.Source as UIElement;
mdichild.Width = (sender as UserControl).Width;
mdichild.Height = (sender as UserControl).Height;
mdichild.Tag = (sender as UserControl).Tag.ToString();
mdichild.Resizable = true;
mdichild.Closing += new RoutedEventHandler(MdiChild_Closing);
mdichild.PreviewMouseLeftButtonDown += new MouseButtonEventHandler(MdiChild_PreviewMouseButtonDown);
this.Container.Children.Add(mdichild);
}
catch (Exception ex)
{
//不允许任何错误造成函数推出
}
}

/// <summary>
/// 子窗体关闭
void MdiChild_Closing ( object sender , RoutedEventArgs e )
{
//条件符合,取消关闭

}
展开
 我来答
百度网友dac3ae4b8
2019-12-30
知道答主
回答量:4
采纳率:0%
帮助的人:1.2万
展开全部

emmm,这个问题很好解决

.net Framework在Closing事件中提供了取消Close动作的事件,方法如下:


using System.ComponentModel;   //为了简化代码,引用的添加是必须的

//下面一行代码加在你触发this.Close();事件的前面,或者直接加在初始化窗体的代码中

this.Closing += Window_Closing;   //绑定Closing事件到Window_Closing方法

//下面的方法加在哪里都无所谓

private void Window_Closing(object sender, CancelEventArgs e)

        {

            e.Cancel = true;   //指示取消Closing操作

        }


单窗体基于C#的WPF程序示例(xaml代码我就不写了,因为根本没涉及到)

<*.xaml.cs>

using System.Windows;

using System.ComponentModel;

namespace *   //这里的*是你自己项目的根命名空间,自行补齐,不要更改,否则会引起编译错误

{

    /// <summary>

    /// *.xaml 的交互逻辑

    /// </summary>

    public partial class MainWindow : Window

    {

        public MainWindow()

        {

            InitializeComponent();

            this.Closing += Window_Closing;

           

        }

        private void Window_Closing(object sender, CancelEventArgs e)

        {

            e.Cancel = true;

        }

    }

}

//以上代码在VS2015中测试成功,直接生成一个标准WPF项目并粘贴到cs文件即可

法律达人666
行业观察员

2019-12-17 · 随心而行,助人为乐。
法律达人666
采纳数:3774 获赞数:11704

向TA提问 私信TA
展开全部
因此,若是用户取消登陆,则要退出应用程序。 注意,用于重新设计了登陆界面,FormBorderStyle设置的为None,因此窗体右上角并没有
追问
刚接触C#,是枚小白。想实现:点击WPF.MDI中的子窗体右上角的关闭按键,若该窗体线程正在运行,则隐藏该窗体,但不关闭;否则,直接关闭。可在代码中的Closing事件中实现嘛?如果不可行,还有其他解决方法嘛?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3138a58
2019-12-20 · TA获得超过2830个赞
知道大有可为答主
回答量:1万
采纳率:70%
帮助的人:604万
展开全部
嗯,关闭这个件以后应该是可以关闭这种操作的。嗯这个功能就是呃这个功能其中的一点进行操作的这个是可以的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式