zoukankan      html  css  js  c++  java
  • 【WPF】对话框/消息弹窗

    非模式对话框

    需求:弹窗是非模式对话框,即可以多个弹窗弹出,且弹窗后面的窗体可以被操作,不会被锁定。

    自定义的窗体Window实现以下步骤:

    1. 在C#代码中弹出窗体时,使用 window.Show() 而不是 window.ShowDialog();
    2. 最好设置 window.Topmost = true; 可以在XAML顶部写、也可以在C#代码中设置。否则该窗体可以被主界面遮挡(比如按Tab切换到主界面时),该弹窗没有被关闭,但又看不到。
    3. 如有需要,可以设置 ResizeMode=”NoResize”; 可以在XAML顶部写、也可以在C#代码中设置。这样该弹窗将无法改变宽高,且没有最大化、最小化按钮。

    对话框、消息弹窗

    复制代码
    //定义消息框             
    string messageBoxText = "需要保存吗?";
    string caption = "HELLO";
    MessageBoxButton button = MessageBoxButton.YesNoCancel;
    MessageBoxImage icon = MessageBoxImage.Warning;
    //显示消息框              
    MessageBoxResult result = MessageBox.Show(messageBoxText, caption, button, icon);
    //处理消息框信息              
    switch (result)
    {
        case MessageBoxResult.Yes:
            // ...                      
            break;
        case MessageBoxResult.No:
            // ...                      
            break;
        case MessageBoxResult.Cancel:
            // ...                     
            break;
    }  
    复制代码

    简化的写法:

    复制代码
    MessageBoxResult result = MessageBox.Show("这里是消息内容", "这是标题", MessageBoxButton.YesNo);
    if (result == MessageBoxResult.Yes)
    {
        // do something
    }
    else
    {
        // do something
    }
    复制代码

    打开文件对话框

    复制代码
    //打开文件对话框              
    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();              
    dlg.FileName = "Document"; // Default file name              
    dlg.DefaultExt = ".txt"; // Default file extension              
    dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension                
    // Show open file dialog box              
    Nullable<bool> result = dlg.ShowDialog();                
    // Process open file dialog box results              
    if (result == true)              
    {                  
        // Open document                  
        string filename = dlg.FileName;                    
        //...             
    }  
    复制代码

     

    转自:https://www.cnblogs.com/guxin/p/wpf-message-dialog.html

  • 相关阅读:
    vue中的 computed 和 watch 的区别
    mysql8.0 初始化数据库及表名大小写问题
    sql server alwayson 调整数据文件路径
    zabbix 自定义监控 SQL Server
    mysql 创建用户及授权
    mysql 设置从库只读模式
    mysql8.0 主从复制安装及配置
    centos8.0安装mysql8.0
    centos8替换阿里数据源
    npm publish 报错 【you or one of your dependencies are requesting a package version that is forbidden by your security policy】
  • 原文地址:https://www.cnblogs.com/javalinux/p/14484230.html
Copyright © 2011-2022 走看看