zoukankan      html  css  js  c++  java
  • WPF 之 设置Dialog的父窗体

    1、如果弹出窗体(如ChildWindow),调用Show方法,并且设置了其Owner属性:

    ClassRootWindow
    {
           void Foo()
           {
                   ChildWindow cw = newChildWindow();
                   cw.Owner = this;
                   cw.Show();
           }
    }

      那么弹出窗体(ChildWindow)和源窗体(如RootWindow)将有着父子关系,也就是说,弹出窗体将永远在源窗体的上方,但并不是模式的,用户可以操作源窗体,当源窗体被最小化或还原的时候,弹出窗体也将随着最小化和还原,反之不成立。

    2、如果弹出窗体(ChildWindow)以ShowDialog的方式显示,并且没有设置了其Owner属性:

    ClassRootWindow
    {
        voidFoo()
        {
              ChildWindow cw = new ChildWindow();
              cw.ShowDialog();
        }
    }

      弹出窗体将以模式的方式出现,但没有父子关系,弹出窗体将阻止用户对源窗体的操作,但点击源窗体时弹出窗体不会出现闪动效果。弹出窗体最小化时,源窗体会随之最小化,但还原操作却不可以(很奇怪)。这里有一个值得注意的问题是:在此模式下,如果弹出窗体不在任务栏显示(ShowInTaskBar==false),而源窗体显示在任务栏,用户的操作可能会导致弹出窗口被隐藏在源窗口背后而没办法切换出来(除非使用Alt+TAB)。

    3、如果弹出窗体(ChildWindow)以ShowDialog的方式显示,并且设置了其Owner属性:

    Class RootWindow
    {
        void Foo()
        {
             ChildWindow cw = newChildWindow();
             cw.Owner = this;
             cw.ShowDialog();
        }
    }

      弹出窗体将以模式的方式出现,并且有父子关系,弹出窗体将永远处于源窗体上方,弹出窗体将阻止用户对源窗体的操作,并且点击源窗体时弹出窗体会出现闪动效果。弹出窗体最小化或还原时,源窗体会随之最小化或还原。

  • 相关阅读:
    遍历文件下所有文件
    访问网址(使用CDN)时 智能DNS调度 与 用户定位调度(根据IP定位)
    UV,IP,PV
    vector list deque
    mailto: HTML e-mail 链接
    freemarker 用template快速构造XML
    Oracle varchar2 length 分析
    Flex grid 复杂表头
    Oracle 动态设置SEQUENCE startwith 的值
    ssh和ssh2之间的免密码登陆详解
  • 原文地址:https://www.cnblogs.com/xinaixia/p/5516196.html
Copyright © 2011-2022 走看看