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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# WPF.MDI,点击关闭按键后,如何在Closing中取消该关闭操作?相关的知识,希望对你有一定的参考价值。

/// <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 )

//条件符合,取消关闭

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文件即可

参考技术A 因此,若是用户取消登陆,则要退出应用程序。 注意,用于重新设计了登陆界面,FormBorderStyle设置的为None,因此窗体右上角并没有追问

刚接触C#,是枚小白。想实现:点击WPF.MDI中的子窗体右上角的关闭按键,若该窗体线程正在运行,则隐藏该窗体,但不关闭;否则,直接关闭。可在代码中的Closing事件中实现嘛?如果不可行,还有其他解决方法嘛?

参考技术B 嗯,关闭这个件以后应该是可以关闭这种操作的。嗯这个功能就是呃这个功能其中的一点进行操作的这个是可以的

关闭Mac电脑重复按键功能?

什么是Mac电脑的重复按键功能?重复按键功能是当一个按键按下是字符可以重复,一般我们不需要这个功能,所以如何关闭呢?下面分享在Mac电脑中关闭重复按键功能的操作步骤。一起来看看吧~

1、打开Mac电脑中的系统偏好设置,

2、在系统偏好设置中,点击“键盘”;

3、进入键盘窗口后,点击“键盘”标签;

4、在键盘的设置窗口,移动“按键重复”下的滑块到最右端即可关闭。

是不是很简单呢!还有哪些关于macOS的操作技巧,欢迎来交流。

以上是关于C# WPF.MDI,点击关闭按键后,如何在Closing中取消该关闭操作?的主要内容,如果未能解决你的问题,请参考以下文章

关闭Mac电脑重复按键功能?

关闭Mac电脑重复按键功能?

qt语音发送信息按键如何设置

C#里如何点击“取消(button2)”按钮后关闭窗体2,并返回窗体1?

c# 怎样禁止键盘按键

不知道如何在 C# 中自动按键