《WPF编程宝典——使用C# 2008和.NET 3.5(第2版)》第25章与Windows窗体的互操作,本章将介绍用于集成Windows窗体和WPF内容的不同策略。还将分析如何在应用程序中使用两种类型的窗口,并且还将研究更加精彩的在一个窗口中混合来自两个平台内容的技巧。但是在深入分析WPF和Windows窗体之间的互操作之前,先后退一步,分析应当(或不应当)使用WPF互操作功能的原因是值得的。本节为大家介绍显示模态窗口和窗体。

AD:2013云计算架构师峰会课程资料下载

25.2.3  显示模态窗口和窗体

从WPF应用程序中显示模态窗体很简单。可以使用与在Windows窗体项目中相同的代码。例如,如果有一个名称为Form1的窗体类,可以使用下面的代码以模态的方式显示这个窗口:

  1. Form1 frm = new Form1();
  2. if (frm.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  3. {
  4. MessageBox.Show("You clicked OK in a Windows Forms form.");
  5. }

您可能已注意到,Form.ShowDialog( )方法的工作方式和WPF的Windows.ShowDialog( )方法(在第8章中介绍过该方法)的工作方式稍微不同。Form.ShowDialog( )方法返回DialogResult枚举,而Windows.ShowDialog( )方法返回true、false或null。

相反的技巧-- 从窗体中显示一个WPF窗口-- 同样很容易。同样,可以简单地与Windows类的公有接口进行交互,其余的问题由WPF负责解决:

  1. Window1 win = new Window1();
  2. if (win.ShowDialog() == true)
  3. {
  4. MessageBox.Show("You clicked OK in a WPF window.");
  5. }

WPF 显示模态窗口和窗体的更多相关文章

  1. [转]Ionic最佳实践-使用模态窗口modal

    本文转自:http://m.blog.csdn.net/blog/betreex/45649689 原文地址:Ionic最佳实践-使用模态窗口modal 模态窗口的结构 在Ionic中,模态窗口通过$ ...

  2. [Win32]创建模态窗口

    http://www.cnblogs.com/zplutor/archive/2011/02/20/1958973.html 在Win32编程中,如果要显示一个模态窗口,一般是先创建对话框模板,然后使 ...

  3. iOS:视图切换的第一种方式:模态窗口

    一.UIModalController:模态窗口(一个控制器模态出另一个控制器的模态窗口) 当我们在view controller A中模态显示view controller B的时候,A就充当pre ...

  4. unigui 服务器 是否显示 程序窗口

    unigui 服务器 是否显示 程序窗口 servermodule 窗体的这个standaloneserver属性 为false 时 显示窗体. 为true 时 不显示窗体. 哈哈  

  5. WPF:验证登录后关闭登录窗口,显示主窗口的解决方法

    http://www.27ba.com/post/145.html WPF:验证登录后关闭登录窗口,显示主窗口的解决方法 最近想做一个基于Socket的通讯工具,想模仿QQ那样,需要先登录,登录成功后 ...

  6. JaveWeb 公司项目(2)----- 类模态窗口显示DIV并将DIV放置在屏幕正中间

    上一篇博客写的是通过隐藏显示进行div的替换,接下来需要在原有的div前添加一个div,进行表单的提交,需要将div放置在正中间,然后类似C#中的模态窗口,在进行完新弹出的div操作之后,才可以进行下 ...

  7. 基于vue3.0+electron新开窗口|Electron多开窗体|父子模态窗口

    最近一直在折腾Vue3+Electron技术结合的实践,今天就来分享一些vue3.x和electron实现开启多窗口功能. 开始本文之前,先来介绍下如何使用vue3和electron来快速搭建项目. ...

  8. WPF中任务栏只显示主窗口

    我们在用WPF开发的时候,常常会遇到在主窗口打开的情况下,去显示子窗口,而此时任务栏同时显示主窗口与子窗口.这样看起来很不美观.所以在弹出子窗口之前,设置它的几个相应属性,便不会出现这种问题了. // ...

  9. [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口

    原文:[WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 [WPF疑难] 模式窗口被隐藏后重新显示时变成了非模式窗口 周银辉 现象: 大家可以试试下面这个很有趣但会带来Defect的现象:当我 ...

随机推荐

  1. AbStract 和Interface 方法是否能用Static修饰,为什么?

    Abstract 和Interface 方法是否能用Static修饰,为什么? interface中不能含有Static方法,属性,成员变量. Abstract中可以有Static方法,属性,成员变量 ...

  2. [转]ODBC连接ORACLE数据库的设置

    本文转自:http://www.cppblog.com/edog/articles/1420.html 首先安装Oracle,以Oracle 817为例,作为ODBC开发者的客户端,才能使用Oracl ...

  3. Linux下root密码忘记的解决办法

    {启动方式} ========================================================================== 一. lilo 1. 在出现 lil ...

  4. [原创]HTML标签总结!! 第一次画 尚需要改进 多关照

    HTML 页面标签总结  拿xMind写了一下午总结的   只能传图片了   CSS明天整理  后天看看能不能传上来 //======================================= ...

  5. Beyond Compare 相同文件对比结果仍显示红色 解决方案

    转载:http://blog.sina.com.cn/s/blog_4d4bc1110100zj7x.html   1. 问题详细描述如下. 下图显示对比结果中,两侧的aaa.xml是一模一样,会话中 ...

  6. sql索引碎片产生的原理 解决碎片的办法(sql碎片整理)(转)

    本文讲述了SQL SERVER中碎片产生的原理,内部碎片和外部碎片的概念.以及解决碎片的办法和填充因子.在数据库中,往往每一个对于某一方面性能增加的功能也会伴随着另一方面性能的减弱.系统的学习数据库知 ...

  7. Jquery 1.11.1 Checkbox checked 判断

    if($(this).prop('checked'))

  8. C#基础总复习01

    马上就快毕业了,准备把这几个月所学到的知识梳理一下,这儿所写的都是一些C#中最基础的东西(大牛不要笑话我,这也是我记录的一些笔记等等),希望能帮到一些正在学习这方面的知识的人,如果有写的不对的地方,望 ...

  9. Java实战之02Hibernate-06处理并发

    十三.处理并发 1.事务的隔离级别 不考虑隔离级别出现的问题: 脏读:一个线程中的事务读到了另外一个线程中未提交的数据. 不可重复读:一个线程中的事务读到了另外一个线程中提交的update(更新)的数 ...

  10. POJ 2777(线段树)

    Count Color Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 42507   Accepted: 12856 Des ...