非模式对话框

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

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

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

对话框、消息弹窗

  1. //定义消息框
  2. string messageBoxText = "需要保存吗?";
  3. string caption = "HELLO";
  4. MessageBoxButton button = MessageBoxButton.YesNoCancel;
  5. MessageBoxImage icon = MessageBoxImage.Warning;
  6. //显示消息框
  7. MessageBoxResult result = MessageBox.Show(messageBoxText, caption, button, icon);
  8. //处理消息框信息
  9. switch (result)
  10. {
  11. case MessageBoxResult.Yes:
  12. // ...
  13. break;
  14. case MessageBoxResult.No:
  15. // ...
  16. break;
  17. case MessageBoxResult.Cancel:
  18. // ...
  19. break;
  20. }

简化的写法:

  1. MessageBoxResult result = MessageBox.Show("这里是消息内容", "这是标题", MessageBoxButton.YesNo);
  2. if (result == MessageBoxResult.Yes)
  3. {
  4. // do something
  5. }
  6. else
  7. {
  8. // do something
  9. }

打开文件对话框

  1. //打开文件对话框
  2. Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
  3. dlg.FileName = "Document"; // Default file name
  4. dlg.DefaultExt = ".txt"; // Default file extension
  5. dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
  6. // Show open file dialog box
  7. Nullable<bool> result = dlg.ShowDialog();
  8. // Process open file dialog box results
  9. if (result == true)
  10. {
  11. // Open document
  12. string filename = dlg.FileName;
  13. //...
  14. }

【WPF】对话框/消息弹窗的更多相关文章

  1. Sagit.Framework For IOS 开发框架入门教程5:消息弹窗STMsgBox

    前言: 昨天刚写了一篇IT连创业的文章:IT连创业系列:产品设计之答题模块,(欢迎大伙关注!) 感觉好久没写IOS的文章了,今天趁机,来补一篇,Sagit的教程. Sagit 开源地址:https:/ ...

  2. MFC编程入门之十六(对话框:消息对话框)

    前面几节讲了属性页对话框,我们可以根据所讲内容方便的建立自己的属性页对话框.本节讲解Windows系统中最常用最简单的一类对话框--消息对话框. 我们在使用Windows系统的过程中经常会见到消息对话 ...

  3. WPF的消息机制

    前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Windows Message派发给特定的窗口,实际 ...

  4. WPF的消息机制(二)- WPF内部的5个窗口之隐藏消息窗口

    目录 WPF的消息机制(一)-让应用程序动起来 WPF的消息机制(二)-WPF内部的5个窗口 (1)隐藏消息窗口 (2)处理激活和关闭的消息的窗口和系统资源通知窗口 (3)用于用户交互的可见窗口 (4 ...

  5. WPF的消息机制(一)- 让应用程序动起来

    原文:WPF的消息机制(一)- 让应用程序动起来 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/powertoolsteam/article/det ...

  6. WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口

    原文:WPF的消息机制(三)- WPF内部的5个窗口之处理激活和关闭的消息窗口以及系统资源通知窗口 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/p ...

  7. UWP笔记-消息弹窗自动淡出

    为了让用户有个更好的UI交互,可以增加自动淡出的消息弹窗,例如:网易云音乐UWP,切换播放模式时,出现的类似消息提示. 右键项目,添加用户控件 UserControlDemo.xaml: <Us ...

  8. js封装好的模仿qq消息弹窗代码

    在我们的日常开发中,或者生活中.常常须要用到弹出窗.这里我们就用js模拟一下qq消息一样的弹出窗. 直接贴代码: <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  9. Python -- Gui编程 -- Tkinter的使用 -- 对话框消息框

    1.消息框 tkMessageBox.py import tkinter from tkinter import messagebox def cmd(): global n global butto ...

随机推荐

  1. JavaScript中的call、apply、bind方法的区别

    在JavaScript 中,this的指向是动态变化的,很可能在写程序的过程中,无意中破坏掉this的指向,所以我们需要一种可以把this的含义固定的技术,于是就有了call,apply 和bind这 ...

  2. BIND9源码分析之UDP数据处理

    本文简要介绍一下BIND9中的UDP数据处理,包括如何创建socket.设置什么socket参数.多线程环境中如何让多个线程读取53端口的数据等等. BIND9的架构采用event-driven和ta ...

  3. HDUOJ-----(1329)Calling Extraterrestrial Intelligence Again

    Calling Extraterrestrial Intelligence Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: ...

  4. Android开发学习之Activity的简介

    1.Activity的概念介绍 Activity是Android组件中最基本也是最常用的一种组件,在一个Android应用中,一个Activity通常就是一个单独的屏幕.每一个Activity都被实现 ...

  5. 【js】typeof与instanceof

    typeof 运算符 返回一个用来表示表达式的数据类型的字符串. typeof[()expression[]] ; expression 参数是需要查找类型信息的任意表达式. 说明 typeof 运算 ...

  6. oc引入头文件

    建立.h的头文件(header file)命名为Hi.h,源码如下: #ifndef oc3_Hi_h #define oc3_Hi_h void sayHi(); #endif 建立.c的头文件(c ...

  7. Log4Net基本配置

    开源日志管理工具,项目主页:http://logging.apache.org/log4net/ 基本用法: 1.程序目录新建目录“Config”,目录内新建文件“log4net.config”,右键 ...

  8. Python endswith() 方法

    描述 endswith() 方法用于判断字符串是否以指定后缀结尾,如果是则返回 True,否则返回 False. 语法 endswith() 方法语法: S.endswith(suffix[,star ...

  9. W5500初始化过程

  10. java mac install

    http://docs.oracle.com/javase/8/docs/technotes/guides/install/mac_jdk.html#A1096855 This page descri ...