zoukankan      html  css  js  c++  java
  • WPF中退出时显示是否保存数据提示

    一、通过窗体中的按钮实现退出时数据保存提示

    Xaml:

        <Grid>
            <TextBlock HorizontalAlignment="Left" Margin="152,159,0,0" TextWrapping="Wrap" Text="示例数据:" VerticalAlignment="Top" Height="20" Width="104" FontSize="18"/>
            <TextBox x:Name="TextBox_ExpData" HorizontalAlignment="Left" Height="23" Margin="282,156,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="120"/>
            <Button Content="退出" HorizontalAlignment="Left" Margin="448,159,0,0" VerticalAlignment="Top" Width="75" Click="Button_Click"/>
        </Grid>

    后台:

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        if (!this.TextBox_ExpData.Text.Equals("0"))
        {
           MessageBoxResult result = MessageBox.Show("数据有变更,是否保存数据变更?", "WPF实例", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
           if (result == MessageBoxResult.Yes)
           {
                 MessageBox.Show("数据被保存!");
                 Application.Current.MainWindow.Close();
           }
           else if (result == MessageBoxResult.No)
           {
                 Application.Current.MainWindow.Close();
           }
           else
           {
                 return;
           }
        }
    }

    效果图:

    二、通过点击右上角叉来实现数据保存提示

    Xaml:

    只需要在Window里面加一个Close事件,Closing="Window_Closing"

    后台:

            private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
            {
                if (!this.TextBox_ExpData.Text.Equals("0"))
                {
                    MessageBoxResult result = MessageBox.Show("数据有变更,是否保存数据变更?", "WPF实害例�", MessageBoxButton.YesNoCancel, MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        MessageBox.Show("数据被保存。");
                        e.Cancel = false;
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        e.Cancel = false;
                    }
                    else
                    {
                        e.Cancel = true;
                    }
                }
                else
                {
                    e.Cancel = false;
                }
            }
        }

    效果图:

  • 相关阅读:
    初探element+vue+vue-router
    git命令移动文件夹到另一文件夹
    javascript最大公约数与最小公倍数
    求1-100数字的和
    [摘录]代码优化规则
    基于.NET平台常用的框架和开源程序整理
    软件架构师的12项修炼
    Service Oriented Architecture and WCF 【转】
    电商网站的初期技术选型【转】
    论SOA架构的几种主要开发方式【转】
  • 原文地址:https://www.cnblogs.com/Leozi/p/10811670.html
Copyright © 2011-2022 走看看